Примеры программирования на СИ для AVR
|
|
klaster_q | Дата: Суббота, 08.09.2012, 17:46 | Сообщение # 1 |
Репутация:
Группа:Новичок
Сообщений: 4
Награды: 0
Статус:Offline
Всем доброго времени суток , история разгрызния контроллера дошло до моргания лампочкой , но любопытство берет своё , куча вопросов а ответветы с космоса не идут и как Меделеву не сняться , само не понятное в написания условий что попадает в регистры и как происходит вычесление , Люди добрые объясните на примере "включает и выключения устройства одной кнопкой " а то жена из дома выгонить из - за большого поведения времени за компом
| |
|
|
|
| |
brys99 | Дата: Среда, 12.09.2012, 05:21 | Сообщение # 2 |
Репутация:
Группа:Помощник администратора
Сообщений: 448
Награды: 19
Статус:Offline
да видно програмисты перевелись
| |
|
|
|
| |
sanyaav | Дата: Понедельник, 17.09.2012, 13:15 | Сообщение # 3 |
Репутация:
Группа:Журналист
Сообщений: 134
Награды: 8
Статус:Offline
идея влючения и выключения: ВКЛ-подали высокий уровень (1), ВЫКЛ - подали низкий уровень (0), у каждого порта есть защёлки, через которые на ножки подаётся сигнал с регистра, управляющего этим портом, в нашем примере возьмём 1 ножку выход, получаем, что при записи в регистр 00000000 - на 1 ножке будет низкий уровень, а при записи 00000001 - высокий, на остальные ножки не нужно обращать внимания, то есть если записать 11111111 - то тоже будет высокий уровень, далее нужно как то подцепить кнопку, можно сделать по 2 вариантам: по прерыванию и по принудительному опросу. Допустим будем делать по прерыванию, для этого нужно оперировать 2 подпрограммами: подпрограмма ВКЛ, подпрограмма ВЫКЛ, а подпрограмма прерываний будет направлять нас в нужное русло в зависимости от предыдущего состояния. Для запоминания предыдущего состояния выделим отдельный регистр и будем записывать туда значения 0 и 1 Допустим у нас произошло прерывание по нажатию кнопки, перво-наперво нужно запретить прерывания в подпрограмме прерываний (думаю не нужно объяснять почему))), затем нужно вставить паузу для исключения влияния дребезга контактов, а вот затем нужно начинать проверять значения, тут тоже есть мааса вариантов, например вычитать 1 и сравнивать значение с нулём, или вычитать единицу и проверять флаг переноса, или же самый простой вариант инвертировать биты регистра, а затем проверять отдельно нулевой бит на равность нулю, 2 пути развития: равно нулю-идём в подпрограмму "ноль", разрешаем прерывания, записываем в порт значение 00000000, и крутимся в теле этой подпрограммы до следущего прерывания,... аналогично и с подпрограммой "один" Можно делать уход в эти 2 подпрограммы в теле основной программы, а не в прерывании, при этом нужно будет инвертировать значение регистра и выполнить команду возвращения из прерываний (по идее так правильнее, но я пользовался обоими вариантами-оба работают)
| |
|
I'll be back
|
|
| |
Vovka | Дата: Вторник, 18.09.2012, 21:47 | Сообщение # 4 |
Репутация:
Группа:Помощник администратора
Сообщений: 634
Награды: 19
Статус:Offline
А почему именно СИ ? И вообще , есть куча лит-ры (даже у нас).
| |
|
"СДЕЛАТЬ ХОТЕЛ УТЮГ , СЛОН ПОЛУЧИЛСЯ ВДРУГ "
|
|
| |
yrrrec | Дата: Среда, 07.11.2012, 19:13 | Сообщение # 5 |
Репутация:
Группа:Паятель
Сообщений: 10
Награды: 1
Статус:Offline
Всем привет! а почему СИ, я пишу на PIC basic........ и просто . и быстро
| |
|
Юрец
|
|
| |
klaster_q | Дата: Пятница, 04.01.2013, 17:27 | Сообщение # 6 |
Репутация:
Группа:Новичок
Сообщений: 4
Награды: 0
Статус:Offline
А может кто нибудь написать исходник тригерног режима кнопки ? На си так как я привязался к сям уже, , мне писал человечек как-то с флагами , я потерял и не успел вникнуть , поможите люди добрые , или все же перевелись программисты ?
| |
|
|
|
| |
yrrrec | Дата: Суббота, 05.01.2013, 00:10 | Сообщение # 7 |
Репутация:
Группа:Паятель
Сообщений: 10
Награды: 1
Статус:Offline
Всем привет! С Новым Годом!!!
| |
|
Юрец
|
|
| |
Vovka | Дата: Вторник, 08.01.2013, 10:34 | Сообщение # 8 |
Репутация:
Группа:Помощник администратора
Сообщений: 634
Награды: 19
Статус:Offline
С новым ! Ещё раз не по теме - подарка не будет ! Есть - " Для разной поговорить и тд. и тп. "
| |
|
"СДЕЛАТЬ ХОТЕЛ УТЮГ , СЛОН ПОЛУЧИЛСЯ ВДРУГ "
|
|
| |
135alex135 | Дата: Среда, 13.02.2013, 09:38 | Сообщение # 9 |
Репутация:
Группа:Новичок
Сообщений: 9
Награды: 0
Статус:Offline
вопросы те же! напишите, кто знает, пример на СИ как считать нажатие кнопки
| |
|
|
|
| |