Форум РадиоКот https://radiokot.ru/forum/ |
|
BASCOM AVR в вопросах и ответах https://radiokot.ru/forum/viewtopic.php?f=57&t=6408 |
Страница 285 из 301 |
Автор: | vem566 [ Пн май 07, 2018 14:29:28 ] |
Заголовок сообщения: | Re: BASCOM AVR в вопросах и ответах |
Не умеет. Исполняемый оператор в строке может быть только один. Мне тоже жаль. |
Автор: | Novice user [ Ср май 09, 2018 21:29:23 ] |
Заголовок сообщения: | Re: BASCOM AVR в вопросах и ответах |
У меня вопрос по дисплеям нокиа 3310 и 5110-может кто решил Как рисовать линии?бывает ли такая библиотека?или лучше создавать буфер на 504 ячейки,складывать рисунок туда и потом все передавать в жки как картинку? |
Автор: | andrusha152 [ Вс май 27, 2018 14:30:24 ] |
Заголовок сообщения: | Re: BASCOM AVR в вопросах и ответах |
вопрос по I2C Одно устройство подключено по I2C к одним портам(Config Scl = Portc.5,Config Sda = Portc.4),второе к другим(Config Scl = Portc.0,Config Sda = Portc.1),как переназначать программно порты? Удалось решить этот вопрос? Если нет, вот пример с сайта Баскома, случайно нашел. СпойлерКод: 'name : I2C-multibus.bas 'copyright : (c) 1995-2016, MCS Electronics 'purpose : demonstrates I2C multibus library 'micro : Mega88 'suited for demo : no, lib not included in demo 'commercial addon needed : no '---------- $regfile = "m88def.dat" $crystal = 8000000 $hwstack = 32 $swstack = 24 $framesize = 24 Config I2cbus = 0 , Scl = Portc.0 , Sda = Portc.1 'each bus requires a configuration of the SCL and SDA pins Config I2cbus = 1 , Scl = Portc.2 , Sda = Portc.3 'this sample creates 4 busses Config I2cbus = 2 , Scl = Portd.2 , Sda = Portd.3 Config I2cbus = 3 , Scl = Portd.4 , Sda = Portd.5 Dim J As Byte For J = 0 To 3 'the first bus is 0 !!! I2cbus = J 'select the BUS I2cinit 'init the pins and state Next Do For J = 0 To 3 I2cbus = J 'select the bus I2csend &H40 , &B01010101 'send some data Next Waitms 100 Loop End |
Автор: | Novice user [ Вс май 27, 2018 16:00:10 ] |
Заголовок сообщения: | Re: BASCOM AVR в вопросах и ответах |
о,спасибо,попробую! |
Автор: | Novice user [ Чт май 31, 2018 22:04:31 ] |
Заголовок сообщения: | Re: BASCOM AVR в вопросах и ответах |
Накидайте пожалуйста простую программу.... там делов то,можно и самому сладить... |
Автор: | nik_81 [ Чт май 31, 2018 22:28:22 ] |
Заголовок сообщения: | Re: BASCOM AVR в вопросах и ответах |
4-й день бьюсь. Уже надоело. Без антидребезга у меня то на 2-е, то на 4-е нажатие срабатывает. А как всё это написать через прерывания я не осиляю. Готового примера в сети тоже не нашёл. |
Автор: | Adagumer [ Пт июн 01, 2018 05:54:20 ] |
Заголовок сообщения: | Re: BASCOM AVR в вопросах и ответах |
nik_81 писал(а): Готового примера в сети тоже не нашёл. A: If Pind.2 = 0 Then 'при нажатии кнопки Waitms 50 'антидребезг Bitwait Pind.2 , Set 'ждём отпускания кнопки Else Goto A End If |
Автор: | nik_81 [ Пт июн 01, 2018 10:58:16 ] |
Заголовок сообщения: | Re: BASCOM AVR в вопросах и ответах |
Спасибо за помощь. Получилось следующее. Всё работает в протеусе, но почему то моргает не 0,1 Сек а где-то 1-1,5Сек, как будто код выполняется очень медленно или это просто глюк протеуса? И ещё вопрос почему при объявлении переменной для Аттини 13 протеус выдаёт ошибку, а для 2313 всё нормально. Не ужели не хватает памяти ? использую протеус версии 8,6 sp2 $regfile = "attiny2313.dat" $crystal = 8000000 Config Portb.3 = Input 'настройка пина b3 на вход(S1) Config Portb.2 = Output 'настройка пина b2 на выход(LED1) Dim N As Byte ' Объявляем переменную N как байт Do 'начало цикла If Pinb.3 = 0 Then 'опрос кнопки и присвоение переменной N соответствующего значения Waitms 10 ' задержка антидребезга Bitwait Pinb.3 , Set 'ждём отпускания кнопки N = N + 1 'с каждым нажатием увеличиваем N на 1 End If If N = 3 Then Portb.2 = 1 Else Portb.2 = 0 ' 0 /@ If N = 3 Then waitms 100 ' Если светит, ждём 0,1С (моргаем) If N = 3 Then N = 0 'N равен 3, то обнуляем Loop 'конец цикла End |
Автор: | andrusha152 [ Пт июн 01, 2018 19:18:11 ] |
Заголовок сообщения: | Re: BASCOM AVR в вопросах и ответах |
Немного причешу ваш код Код: $regfile = "attiny2313.dat" $crystal = 8000000 Config Pinb.3 = Input 'настройка пина b3 на вход(S1) Config Portb.2 = Output 'настройка пина b2 на выход(LED1) Dim N As Byte ' Объявляем переменную N как байт Config Debounce = 150 ' антидребезг Reset Portb.2 N = 0 Do If Pinb.3 = 0 Then Bitwait Pinb.3 , Set Incr N If N = 3 Then Set Portb.2 Waitms 100 Reset Portb.2 N = 0 End If End If Loop 'конец цикла End Чтобы в Протеусе показывало правильно уберите галочку с фьюза CKDIV8. |
Автор: | Novice user [ Пт авг 03, 2018 21:23:54 ] |
Заголовок сообщения: | Re: BASCOM AVR в вопросах и ответах |
Не могу понять в чем дело-по прерыванию INT0 аттини2313а не просыпается,может еще чего не хватает? Спойлер$Regfile = "attiny2313a.dat"$Crystal = 4000000 Config PORTB.2 = Output Config Int0 = Low Level On Int0 Button: Enable Interrupts Enable Int0 Do Set PORTB.2 Wait 1 Reset PORTB.2 Powerdown Loop Button: 'Gifr = 64 'Wait 1 Return End |
Автор: | Microtech [ Чт авг 09, 2018 13:10:48 ] |
Заголовок сообщения: | Re: BASCOM AVR в вопросах и ответах |
У меня работает Ваш код. Спойлер$Regfile = "attiny2313a.dat"$crystal = 4000000 Config PORTB.2 = Output Config Int0 = Low Level Set Portd.2 On Int0 Button Enable Interrupts Enable Int0 Do Set PORTB.2 Wait 1 Reset PORTB.2 Powerdown Loop Button: 'Gifr = 64 'Wait 1 Return End Убрал двоеточие после "On Int0 Button" (не влияет ни на что) и добавил "Set Portd.2", чтобы не паять резистор к плюсу. |
Автор: | Novice user [ Чт авг 09, 2018 18:15:49 ] |
Заголовок сообщения: | Re: BASCOM AVR в вопросах и ответах |
У меня резистор к плюсу,в Powerdown не просыпался никак,в idle все норм но потребление около 1 ма-так и оставил |
Автор: | Microtech [ Пт авг 10, 2018 09:05:10 ] |
Заголовок сообщения: | Re: BASCOM AVR в вопросах и ответах |
Я запускал такты от внутреннего генератора на 8 МГц. Возможно, причина в настройках fuse бит, нужно включить задержку запуска? |
Автор: | domrustika [ Вс авг 12, 2018 15:55:19 ] |
Заголовок сообщения: | Re: BASCOM AVR в вопросах и ответах |
ребят нужна помощь. есть код такой СпойлерКод: Do 1wreset If Err = 1 Then Cls Lcd "Err" Do Loop Else 1wwrite &HCC 1wwrite &H44 Waitms 750 1wreset 1wwrite &HCC 1wwrite &HBE A = 1wread() B = 1wread() If A > 248 Then A = &HFF - A B = &HFF - B E = 2 Else E = 1 End If C = A / 16 D = B * 16 C = C + D If E = 2 Then C = C + 1 If E = 1 And C = 0 Then E = 0 Cls Lcd "V O D A= " If E = 0 Then Lcd " " ; C ; "'" ; "C" If E = 1 Then Lcd "+" ; C ; "'" ; "C" If E = 2 Then Lcd "-" ; C ; "'" ; "C" End If If C <= 27 Then ' разМЫКАЕТ 2 И 3 контакт сверху реле . зеленый диод на реле ГОРИТ. это для ВыкЛЮЧЕНИЯ вентиляторов. Reset Out_1 Locate 2 , 1 Lcd "C O O L E R O F F" End If If C > 27 Then ' в ином случае Замыкает 2 и 3 контакт сверху реле . зеленый диод на реле НЕ горит. это для ВКЛЮЧЕНИЯ вентиляторов. Set Out_1 Locate 2 , 1 Lcd "C O O L E R O N" End If код работает так. при T более 27 градусов реле включает нагрузку- вентиляторы. соответственно менее 27 реле не включается. НО при таком коде считывается данные термодатчика каждую секунду, из за чего постоянно включается \выключается реле. подскажите как изменить код так, что бы работало след образом - 1. измерял температуру не каждую секунду, а раз в 10 минут. 2. прошло 10 минут - измерил, если более 27 включил реле, снизил до 27 и выключился. помогите пожалуйста! |
Автор: | andrusha152 [ Вс авг 12, 2018 19:37:00 ] |
Заголовок сообщения: | Re: BASCOM AVR в вопросах и ответах |
снизил до 27 и выключился. Так не получится. Измерение раз в 10 минут. За это время температура может снизиться и до 20 градусов и ниже. Отсчет времени лучше всего делать по прерыванию таймера. Берете переменную, в обработчике прерывания таймера инкременируете ее. Когда она достигает определенного значения, меряете температуру, переменную сбрасываете в ноль. Включаете вентилятор. Но вентилятор будет крутить до следующего измерения. |
Автор: | domrustika [ Вс авг 12, 2018 22:17:54 ] |
Заголовок сообщения: | Re: BASCOM AVR в вопросах и ответах |
спасибо! но было бы хорошо , если бы написали код как это будет выглядеть. сам так не смогу написать |
Автор: | vanyap1 [ Чт авг 30, 2018 21:08:48 ] |
Заголовок сообщения: | Re: BASCOM AVR в вопросах и ответах |
Этот код вообще не должен работать Do 1wreset If Err = 1 Then Cls Lcd "Err" Do <<<<<<<<< Loop <<<<<<<<<< Шта энто? как отсюда выбраться? |
Автор: | edm2007 [ Пт авг 31, 2018 05:23:15 ] |
Заголовок сообщения: | Re: BASCOM AVR в вопросах и ответах |
Так, видимо, и не планировалось оттуда выбираться. Если датчика нет, то усё, приехали. |
Автор: | Kotэ [ Сб сен 01, 2018 22:48:46 ] |
Заголовок сообщения: | Re: BASCOM AVR в вопросах и ответах |
BASCOM-AVR 2.0.8.1 и BASCOM-8051 2.0.16.0 http://rutracker.org/forum/viewtopic.php?t=5607303 |
Страница 285 из 301 | Часовой пояс: UTC + 3 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |