Flyboy74
Вт 19 июня 2018 г. 8:54 утра
Хорошо, я пытаюсь научиться создавать свои собственные прерывания.
Я научился использовать регистры для настройки булавок GPIO и установить/читать их.
Теперь я хочу научиться использовать регистры, чтобы прервать. Сначала я пытаюсь прервать рост края PA0. Я думаю, что я правильно настрою регистр, но не знаю, как установить функцию, которая вызывается при стрельбе прерывания.
У меня есть код, чтобы установить PA0 в качестве ввода, но я просто опубликую мой код для настройки прерывания.
Я научился использовать регистры для настройки булавок GPIO и установить/читать их.
Теперь я хочу научиться использовать регистры, чтобы прервать. Сначала я пытаюсь прервать рост края PA0. Я думаю, что я правильно настрою регистр, но не знаю, как установить функцию, которая вызывается при стрельбе прерывания.
У меня есть код, чтобы установить PA0 в качестве ввода, но я просто опубликую мой код для настройки прерывания.
st-flash read out.bin 0x8000000 4096
Zoomx
Вт 19 июня 2018 г. 9:03 утра
Какое ядро?
Пито
Вт 19 июня 2018 г. 9:06 утра
Он безвкусно.. Он изучает программирование уровня регистра в C..
Flyboy74
Вт 19 июня 2018 г. 9:07
Я использую синюю таблетку STM103C
Flyboy74
Вт 19 июня 2018 г. 9:08
Он безвкусно.. Он изучает программирование уровня регистра в C..
Да, я хотел бы узнать, как это сделать, если бы никто уже не создал для вас фьюлс, и у вас только что были данные о новом чипе, и вам пришлось начать с самого начала
Стивестронг
Вт 19 июня 2018 г. 9:23 утра
Поиск прерывания exti в ядре Роджера, в файлах с расширением C, CPP и S.
Zoomx
Вт 19 июня 2018 г. 9:54 утра
Дэнниф
Вт 19 июня 2018 г. 15:23
Прежде всего, используйте предопределенные имена для файлов заголовка устройства. Это значительно облегчает порт в различный чип.
2-й, используйте функцию NVIC-enableIRQ в CMSIS, чтобы поместить ISR в векторную таблицу. Nvic-disableirq делает наоборот.
Некоторые примеры этого можно найти здесь: https: // github.com/dannyf00/my-mcu-libr ... /Stm32f1xx
Чтение таблицы - лучший путь, на мой взгляд, на мой взгляд.
2-й, используйте функцию NVIC-enableIRQ в CMSIS, чтобы поместить ISR в векторную таблицу. Nvic-disableirq делает наоборот.
Некоторые примеры этого можно найти здесь: https: // github.com/dannyf00/my-mcu-libr ... /Stm32f1xx
Чтение таблицы - лучший путь, на мой взгляд, на мой взгляд.
Flyboy74
Вт 19 июня 2018 г., 8:49 вечера
@dannf спасибо, это то, что мне нужно знать.
Я смотрю на код в вашей ссылке, и это именно то, что я пытаюсь выучить.
Теперь у меня есть пара вопросов
nvic_enableirq () стандартная функция для c?? мне нужно включить все, чтобы иметь возможность использовать его??
Где я могу найти векторную таблицу??
используется код Nvic_enableirq (timx_cc_irqn) чтобы указать на void tim2_irqhandler (void), Я предполагаю, что TIMX_CC_IRQN находится в векторной таблице и где -то в листе данных??? Есть ли где -нибудь, я могу прочитать информацию об именовании фонда I.e Почему это называлось Tim2_irqhandler
Я смотрю на код в вашей ссылке, и это именно то, что я пытаюсь выучить.
Теперь у меня есть пара вопросов
nvic_enableirq () стандартная функция для c?? мне нужно включить все, чтобы иметь возможность использовать его??
Где я могу найти векторную таблицу??
используется код Nvic_enableirq (timx_cc_irqn) чтобы указать на void tim2_irqhandler (void), Я предполагаю, что TIMX_CC_IRQN находится в векторной таблице и где -то в листе данных??? Есть ли где -нибудь, я могу прочитать информацию об именовании фонда I.e Почему это называлось Tim2_irqhandler
Дэнниф
Чт 21 июня 2018 12:39
Векторная таблица находится в файле Starting Up и IRQ в файле заголовка устройства.
Flyboy74
Чт 21 июня 2018 г., 21:41
Спасибо, я, кажется, стал намного дальше и лучше понимать, как все это работает.
Я обнаружил "STM32F10x.H "от ST, который держит все, что мне нужно для синей таблетки.
Я также понимаю, что делает инструментальный щит GNU из Arm Cortex-M, и это откуда nvic_enableirq ().
У меня сейчас работает мой код, и я вычищу его и опубликует другие, чтобы увидеть
Спасибо за помощь всем, я медленно узнаю, что мне нужно знать
Я обнаружил "STM32F10x.H "от ST, который держит все, что мне нужно для синей таблетки.
Я также понимаю, что делает инструментальный щит GNU из Arm Cortex-M, и это откуда nvic_enableirq ().
У меня сейчас работает мой код, и я вычищу его и опубликует другие, чтобы увидеть
Спасибо за помощь всем, я медленно узнаю, что мне нужно знать
Flyboy74
Пт 22 июня 2018 г., 6:08
ОК, вот код, с которым я в итоге получил, чтобы создать межреяживание без использования встроенных в Ardunio, но вместо этого регистры низкого уровня.
Главный цикл просто выключает светодиод каждые полсекунды, и междров. У меня есть внешнее подтягивание на PA12
Главный цикл просто выключает светодиод каждые полсекунды, и междров. У меня есть внешнее подтягивание на PA12
~/.arduino182r0$ grep -R -i base *|grep -i gpio|grep -i AFR
Дэнниф
Пт 22 июня 2018 г., 18:42
Вот что я написал - exti.C/.час: https: // github.com/dannyf00/my-mcu-libr ... /Stm32f1xx
Примером будет:
Примером будет:
8002.450234] usb 3-4: new full-speed USB device number 59 using xhci_hcd
[58002.614936] usb 3-4: New USB device found, idVendor=0483, idProduct=df11
[58002.614939] usb 3-4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[58002.614941] usb 3-4: Product: STM32 BOOTLOADER
[58002.614943] usb 3-4: Manufacturer: STMicroelectronics
[58002.614944] usb 3-4: SerialNumber: 338334803335