Просмотр этой темы:
2 анонимных пользователей
1 2
Сотрудник
Зарегистрирован:
01.05.2019 17:27 Из: Слободзея
Сообщений:
38
|
Полностью с вами согласен )) Своими руками всегда лучше если бы не одно но .Я совсем не знаток и делаю это основываясь на примерах которые нахожу в интернете и прекрасно понимаю что возможно есть варианты кода более верные .По этому и пытаюсь найти помощь . Но в сложившихся обстоятельствах действительно придётся самому набивать себе шишки ))
Отправлено: 23.06.2023 18:41
|
|
Школьник
Зарегистрирован:
30.05 13:26 Из: Тюменская область
Сообщений:
1
|
Добрый день также нужна помощь в написание кода Bascom AVR.
Суть такова. Контроллер ATTINY13. После включения мигает красный светодиод выход pb1 (6 нога) При нажатии кнопки вход pb3 (со схемой дребезга контактов), светодиод на выход pb1 гаснет, а на pb2(вывод 7) загорается. При следующим нажатии на выводе 7 гаснет, а на выводе 6 начинает мигать. Далее все повторяется. В основном цикле мигает красный светодиод, при условии, что на выходе PB2 низкий уровень, т.е. нагрузка отключена, а зеленый светодиод не горит. По прерыванию Int1 вызывается подпрограмма Swbutton. Оператор Toggle переключает состояния выхода PB2 (если был 1 то станет 0 и наоборот). После переключения выхода программа возвращается в основной цикл, до следующего прерывания. Исходник. $regfile = «attiny13.dat» ‘ $hwstack = 32 $swstack = 8 ‘ $framesize = 16 $crystal = 9600000 Config Portb.1 = Output Config Portb.2 = Output Config Pinb.3 = INPUT Config Int1 = Falling Dim Wtime As Byte On Int1 Swbutton Cls Wtime = 255 Enable Interrupts Enable Int1 Do if pinb.2 = 0 Then Set Portb.1 Waitms Wtime Reset Portb.1 Waitms Wtime Else ‘Pinb.4 = 0 End If Loop End Swbutton: Toggle Portb.2 Return End При компиляции в hex. В10 и 14 строке ошибки. Не силен в программировании. Где нитак?
Отправлено: 30.05 14:07
|
|
Сотрудник
Зарегистрирован:
11.12.2010 22:59 Из: Кишинёв
Сообщений:
55
|
Не знаю как там в вашем Bascom AVR но во всех остальных это не правильно if pinb.2 = 0 Then
Должно быть if pinb.2 == 0 Then А вот тут ‘Pinb.4 = 0 апостроф зачем ? PS Посмотрел примеры Bascom AVR, действительно if pinb.2 = 0 Then правильно. И с апострофом понял - комментарии, но возможно это ошибка в данном случае Татды сори - не знаю... нужен спец по Bascom AVR
Отправлено: 03.06 23:51
Отредактировано пользователем ken 04.06.2024 0:08:38
|
|
1 2