0 / 0 / 0
Регистрация: 30.01.2023
Сообщений: 5
|
||||||
1 | ||||||
Мигание светодиодом на микроконтроллере LPC432022.03.2024, 00:18. Показов 641. Ответов 3
Доброго времени суток читающим, возикла проблема при выполнении стандартной задачи - не могу поморгать светодиодом, подсоединенным к ножке P7_7 микроконтроллера LPC4320FBD144, но в силу моего небольшого опыта программирования микроконтроллеров что то у меня не получается))
Взяв мануал на тысячу с лишним страниц я нашел регистры, вроде как отвечающие за управление ножкой, и у меня получился такой код:
Был бы очень признателен, если бы мне все это разжевали как маленькому ребенку Заранее спасибо
0
|
22.03.2024, 00:18 | |
Ответы с готовыми решениями:
3
Мигание светодиодом(ми) Плавное мигание светодиодом Мигание светодиодом от кнопки чаще Мигание светодиодом на ATMega8515 (Proteus) Мигание светодиодом при нажатии Enter |
652 / 350 / 54
Регистрация: 22.09.2023
Сообщений: 1,030
|
|
22.03.2024, 03:07 | 2 |
В чем именно это выражается? Светодиод не светится вообще или горит "вполнакала"? Предполагаю, что второе.
Любой вменяемый компилятор с включенной оптимизацией этот код выкинет, как "не меняющий состояние абстрактной машины" и ваш светодиод будет мигать очень-очень быстро, сливаясь в постоянное неяркое горение. Чтобы он работал так, как вы хотите, надо j объявлять с квалификатором volatile. У тому же после прохода первого цикла у вас j останется равным 1000000 и все последующие циклы будут пропущены. Лучше объявлять такую переменную прямо в цикле: for(int volatile j = 0; j < 1000000; j++);
0
|
0 / 0 / 0
Регистрация: 30.01.2023
Сообщений: 5
|
||||||||||||||||
22.03.2024, 09:07 [ТС] | 3 | |||||||||||||||
Да, вы правы, я допустил ряд тупых ошибок, я этот код в пути на коленке накидал с телефона))
Фактически, если я изменю j на volatile, и если я нормально напишу циклы задержки, то все равно ничего не поменяется. Светодиод как не горел, так и не будет гореть, и он не горит в полсилы. Скажу прямо: пытаюсь изменить исходный код прошивки на HackRF. Я пытался это сделать по образу и подобию того, как там управляются светодиоды RX, TX и USB. Грубо говоря, вот код:
0
|
652 / 350 / 54
Регистрация: 22.09.2023
Сообщений: 1,030
|
|
22.03.2024, 10:09 | 4 |
Увы, тут не знаю. Может вы заливаете не новую прошивку, а оригинальную, без ваших изменений?
Добавлено через 11 минут Дополнено: и зря вы добавили свой светодиод в середину массива. Ведь теперь все обращения к LED4 из остального кода будут дергать ваш светодиод вместо GPIO(5, 26). И даже если вы измените порядок в led_t нет гарантий, что какой-нибудь "мамкин хакер" в остальном коде не обращается к LED4 просто через gpio_led[3] или led_on(3)/led_off(3) (судя по typedef это не плюсы, тут можно вместо enum подставить int не получив от компилятора по рукам).
0
|
22.03.2024, 10:09 | |
22.03.2024, 10:09 | |
Помогаю со студенческими работами здесь
4
ATmega128. Мигание светодиодом через таймер0 Мигание светодиодом на PIC. Организация задержки Управляем СВЕТОдиодом управление светодиодом...? Управление светодиодом Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |