Микроконтроллеры | Помогите написать программу цифрового таймера |
|
---|---|---|
так, народ. вы меня сейчас окончательно запутаете |
|
|
Вот цитата из того курса |
|
|
1. По поводу стандарта - тут только Жванецкого можно вспомнить: "Договоритесь с доктором, заплатите нянечке. Но вы можете этого не делать. Если вас не интересует результат". 2. Давайте начнем с того, как Вы дальше собираетесь с этими переменными работать? Я бы лично поступил так: Теперь можете этой функцией пользоваться: Детали работы с кнопками Вы спрятали в функцию getKey(), всем остальным - глубоко наплевать, на каких именно линиях порта висят кнопки. |
|
|
chav1961: { if ((PIND & 0b00000010) == 0) return BUTTON_START; И еще вопрос по функции unsigned char getKey(void) |
|
|
Функцию опрашивайте (правильнее сказать - вызывайте), как считаете нужным - все зависит от того, как будете реализовывать обработку. С маской я, действительно, напутал. |
|
|
Хм, все равно не пойму чем это лучше записи Тогда в программе как только мне надо определить нажатие кнопки я напишу А если определить так |
|
|
serg_svd: #define start (PIND.2==0) Я рекомендую в дефайнах именовать заглавными бквами ! #define START (PIND.2 == 0) или #define START ( ! PIND.2 ) |
|
|
1. Это и ни лучше, и не хуже. Просто другой вариант. Речь о том, чтобы по возможности не употреблять конструкции, не входящие в стандарт языка, если им в принципе нет адекватной замены. PIND.2 - это как раз "тот случай". |
|
|
chav1961: unsigned char getKey(void) Как здесь выволнена защита от дребезга? |
|
|
Karados: #define START (PIND.2 == 0) или #define START ( ! PIND.2 ) |
|
|
Форум про радио — сайт, посвященный обсуждению электроники, компьютеров и смежных тем. pro-radio.online | Обратная связь |
© 2003—2024 |