Что-то я не понял это. Он открытый.Rtmip писал(а):пробовал я год назад code::blocks, понравилась IDE, но в "вылеченной" версии был глюк и пока отставил в сторону...
Нескольно простых вопросов о программировании AVR на Си.
Re: Нескольно простых вопросов о программировании AVR на Си.
- Реклама
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Нескольно простых вопросов о программировании AVR на Си.
А TRUE пользователи Windows даже открытый и бесплатный софт качают не с официальных сайтов, а с файлопомоек. А в таком случае - ну как же без кряклв 
-
Pnjom-Penb
- Мучитель микросхем
- Сообщения: 469
- Зарегистрирован: Вс авг 30, 2015 03:52:59
Re: Нескольно простых вопросов о программировании AVR на Си.
Под AVR давно не писал, потому свои предпочтения современными не считаю.Rtmip писал(а):Pnjom-Penb, Вы знаете еще какие-нибудь IDE из разряда "хайвейные", кроме тех, что мы тут обсуждаем?
Да, было установлено несколько версий, наиболее часто встречавшихся в воплях о помощи.Rtmip писал(а):Как понять не во всех версиях? У Вас несколько версий CVAVR установлено?
А понимать следует буквально: в одних версиях не работает, а в других:
Rtmip писал(а):... решил проверить и оказалось, что работает sizeof, показывает размер исправно.
-
Rtmip
- Держит паяльник хвостом
- Сообщения: 963
- Зарегистрирован: Чт апр 03, 2014 23:16:55
- Откуда: Россия
Re: Нескольно простых вопросов о программировании AVR на Си.
hybroid, все правильно, открытый.
WiseLord, я отсюда качал, там ICCV8 Demo for Atmel AVR.
Прошло больше года и уже перепутал
Там Code :: Blocks в составе идет. Вот я и назвал так, неправильно.
А проблема была и есть в том, что не получилось связать imagecraft и winavr в качестве toolchain...
Отдельно Code :: Blocks тоже почему-то не очень связывался
Спасибо за подсказку по Qt, именно этот момент был неясен.
Сейчас установил только IDE по вашей ссылке, попробую разобраться...
Кстати все равно, на диске заняло почти 230 Мб, чего там такого?!
Pnjom-Penb, к чему тогда был весь этот пафос про завязанные глаза, минные поля, хайвеи, желание помочь и "sizeof"?
Если Вы пишите, что есть такие хайвеи, так назовите их.
Если Вы знаете, что в последних версиях sizeof работает, так зачем говорить, что раньше не работало?
Это равносильно тому, что заявить - winavr или студия это плохо, так как в разных версиях были ошибки.
Ладно, будем считать, что я Вас неверно понял.
WiseLord, я отсюда качал, там ICCV8 Demo for Atmel AVR.
Прошло больше года и уже перепутал
Там Code :: Blocks в составе идет. Вот я и назвал так, неправильно.
А проблема была и есть в том, что не получилось связать imagecraft и winavr в качестве toolchain...
Отдельно Code :: Blocks тоже почему-то не очень связывался
Спасибо за подсказку по Qt, именно этот момент был неясен.
Сейчас установил только IDE по вашей ссылке, попробую разобраться...
Кстати все равно, на диске заняло почти 230 Мб, чего там такого?!
Pnjom-Penb, к чему тогда был весь этот пафос про завязанные глаза, минные поля, хайвеи, желание помочь и "sizeof"?
Если Вы пишите, что есть такие хайвеи, так назовите их.
Если Вы знаете, что в последних версиях sizeof работает, так зачем говорить, что раньше не работало?
Это равносильно тому, что заявить - winavr или студия это плохо, так как в разных версиях были ошибки.
Ладно, будем считать, что я Вас неверно понял.
-
Pnjom-Penb
- Мучитель микросхем
- Сообщения: 469
- Зарегистрирован: Вс авг 30, 2015 03:52:59
Re: Нескольно простых вопросов о программировании AVR на Си.
Точнее сказать, Вы совсем не поняли. Но, поскольку Вы сами предположили, что с Вашим пониманием что-то не так, наставления можно пропустить. Правда, остается вопрос - к чему был весь этот пафос?Rtmip писал(а):к чему тогда был весь этот пафос ...
... будем считать, что я Вас неверно понял.
P.S. Могу порекомендовать освежить в памяти бессмертные творения Бидструпа, Вам должно полегчать.
P.P.S. Как яркий пример непонимания:
Под этим кадром так и просятся титры: "Это ему снится ... Это ему снится ... Это ему снится ...", - ибо кто Вам сказал, что с ростом номера версии ошибки исправляются, а не возникают? Вы путаете реальность со своими предположениями о ней. Такой фигней вымощена дорога в Ад. Oops...Rtmip писал(а):Если Вы знаете, что в последних версиях sizeof работает ...
- Реклама
-
Rtmip
- Держит паяльник хвостом
- Сообщения: 963
- Зарегистрирован: Чт апр 03, 2014 23:16:55
- Откуда: Россия
Re: Нескольно простых вопросов о программировании AVR на Си.
WiseLord, к Вам в личку можно постучаться? Не могу разобраться с Qt.
Pnjom-Penb:
1. Если у вас будут ко мне вопросы, пожелания, предложения, претензии или иные фантазии, то пишите в личку.
Не надо засорять форум и хамить.
2.
Pnjom-Penb:
Спойлер
Договоримся так:1. Если у вас будут ко мне вопросы, пожелания, предложения, претензии или иные фантазии, то пишите в личку.
Не надо засорять форум и хамить.
2.
Не надо мне приписывать, то, что я не говорил и не имел ввиду.Pnjom-Penb писал(а):Под этим кадром так и просятся титры: "Это ему снится ... Это ему снится ... Это ему снится ...", - ибо кто Вам сказал, что с ростом номера версии ошибки исправляются, а не возникают? Вы путаете реальность со своими предположениями о ней. Такой фигней вымощена дорога в Ад. Oops...
-
Pnjom-Penb
- Мучитель микросхем
- Сообщения: 469
- Зарегистрирован: Вс авг 30, 2015 03:52:59
Re: Нескольно простых вопросов о программировании AVR на Си.
Rtmip, пожалуйста, научитесь отличать свои трудности, от реалий внешнего мира. Вам же будет проще.
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Нескольно простых вопросов о программировании AVR на Си.
Стучитесь. Только зачем Вам весь Qt, когда для AVR QtCreator должно хватить?Rtmip писал(а):к Вам в личку можно постучаться? Не могу разобраться с Qt.
Re: Нескольно простых вопросов о программировании AVR на Си.
Про визард проекта для AVR в QtCreator.
Может я плохо искал, но нашёл только старенький, написанный каким-то немцем. В принципе работает, но я не сильно доволен.
WiseLord, если у тебя есть визард, то может вывалишь на гитхаб? Или я на днях обнапилю немецкий и выложу.
Может я плохо искал, но нашёл только старенький, написанный каким-то немцем. В принципе работает, но я не сильно доволен.
WiseLord, если у тебя есть визард, то может вывалишь на гитхаб? Или я на днях обнапилю немецкий и выложу.
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: Нескольно простых вопросов о программировании AVR на Си.
Ну так давно есть, и ссылку выкладывал не раз. Для AVR и STM32.
Под Windows надо только в xml-ке шаблона пути подправить (вроде /usr/avr/include => C:\blablabla\avr\include).
И есть даже готовый вариант "под винду" - достал из виртуалки, где проверял. Если WinAVR и QtCreator установлены по стандартным путям, должно работать сразу, иначе подправить аналогично в xml-файле шаблона. Архив распаковается в C:\Qt\Qt5.5.0\Tools\QtCreator\share\qtcreator\templates\wizards
Под Windows надо только в xml-ке шаблона пути подправить (вроде /usr/avr/include => C:\blablabla\avr\include).
И есть даже готовый вариант "под винду" - достал из виртуалки, где проверял. Если WinAVR и QtCreator установлены по стандартным путям, должно работать сразу, иначе подправить аналогично в xml-файле шаблона. Архив распаковается в C:\Qt\Qt5.5.0\Tools\QtCreator\share\qtcreator\templates\wizards
- DronVolk
- Встал на лапы
- Сообщения: 109
- Зарегистрирован: Чт сен 03, 2015 15:52:10
- Откуда: Сибирский федеральный округ
Re: Нескольно простых вопросов о программировании AVR на Си.
На какой максимальной частоте может работать SPI в режиме ведомого? мк ATmega328p. на 14 МГц можно крутить? нужно отправить 1 байт туда и сюда. 1 такт на 2 цикла мк максимальная скорость. теперь другой вопрос можно ли крутить мк на 26 МГц на время приема? (на сколько я знаю технология по которой произведен мк может обеспечить до 96 МГц и производитель закладывает до 40% запаса т. е. возможно 28 МГц для диапазона 1.8 - 5.5 в и -30 +70 С ) http://garagelab.com/profiles/blogs/atm ... lock-30mhz
только флешь память рассчитана как я понимаю максимум 48 МГц (если есть xMega на 33 МГц "совместимая" вратли технология отличается просто название другое это маркетинг)
только флешь память рассчитана как я понимаю максимум 48 МГц (если есть xMega на 33 МГц "совместимая" вратли технология отличается просто название другое это маркетинг)
-
Pnjom-Penb
- Мучитель микросхем
- Сообщения: 469
- Зарегистрирован: Вс авг 30, 2015 03:52:59
Re: Нескольно простых вопросов о программировании AVR на Си.
Производитель это где-нибудь обещал?DronVolk писал(а):на сколько я знаю технология по которой произведен мк может обеспечить до 96 МГц и производитель закладывает до 40% запаса
- DronVolk
- Встал на лапы
- Сообщения: 109
- Зарегистрирован: Чт сен 03, 2015 15:52:10
- Откуда: Сибирский федеральный округ
Re: Нескольно простых вопросов о программировании AVR на Си.
бит CKDIV8 во фьюзах - "Если частота превышает спецификацию устройства, Предохранитель CKDIV8 может быть запрограммирован для того, чтобы делить внутреннюю частоту к 8. Должно быть проверено, что результирующие разделенные часы встречает частотную спецификацию устройства."
я так понимаю пред делитель выполнен на тех же транзисторах что и все основное устройство (кроме флешь памяти) если он может работать на повышеной частоте значит и остальные части могут (не флешь).
зы 40% запаса вносятся для того что бы гарантированно работало устройство (тут уже репутация - мы сказали что так работает значит будет).
хм а если синхронизировать сам мк и SPI (брать один источник частоты) его можно будет заставить работать 1 к 1? (я с ним не работал как с подчиненым)
я так понимаю пред делитель выполнен на тех же транзисторах что и все основное устройство (кроме флешь памяти) если он может работать на повышеной частоте значит и остальные части могут (не флешь).
зы 40% запаса вносятся для того что бы гарантированно работало устройство (тут уже репутация - мы сказали что так работает значит будет).
хм а если синхронизировать сам мк и SPI (брать один источник частоты) его можно будет заставить работать 1 к 1? (я с ним не работал как с подчиненым)
я повелитель электронов! Но иногда появляются электроны бунтари и делают, что им вздумается, например, прокладывают новые пути движения...
"Только те, кто предпринимают абсурдные попытки, смогут достичь невозможного." Альберт Эйнштейн.
"Только те, кто предпринимают абсурдные попытки, смогут достичь невозможного." Альберт Эйнштейн.
Re: Нескольно простых вопросов о программировании AVR на Си.
"Всё остальное устройство" устроено несколько сложнее, чем один счётчик...
- DronVolk
- Встал на лапы
- Сообщения: 109
- Зарегистрирован: Чт сен 03, 2015 15:52:10
- Откуда: Сибирский федеральный округ
Re: Нескольно простых вопросов о программировании AVR на Си.
Это то понятно. Но и Счетчик достаточно сложный для превышения "Спецификации". Я же не говорю что нужно гонять устройство на (но даташиту маскимальная частота 20 и делитель 8 - 160) 160 МГц я говорю про или 26 или SPI крутить 1 к 1 вопрос в том будет ли оно работать (SPI)?
где то читал что он может работать на частоте выше чем в режиме мастера только на сколько?
где то читал что он может работать на частоте выше чем в режиме мастера только на сколько?
я повелитель электронов! Но иногда появляются электроны бунтари и делают, что им вздумается, например, прокладывают новые пути движения...
"Только те, кто предпринимают абсурдные попытки, смогут достичь невозможного." Альберт Эйнштейн.
"Только те, кто предпринимают абсурдные попытки, смогут достичь невозможного." Альберт Эйнштейн.
Re: Нескольно простых вопросов о программировании AVR на Си.
Вообще-то, как раз счётчик - достаточно простое устройство, в сравнении с ядром МК. А кроме ядра ещё есть периферия 
Но суть даже не в этом... Покажи, где в даташите говорится о том, что предделитель AVR будет работать при подаче такта в 8*20 на тактовый вход.
А про частоту работы SPI достаточно подробно рассказывается в даташите.
Но суть даже не в этом... Покажи, где в даташите говорится о том, что предделитель AVR будет работать при подаче такта в 8*20 на тактовый вход.
А про частоту работы SPI достаточно подробно рассказывается в даташите.
Re: Нескольно простых вопросов о программировании AVR на Си.
Здравствуйте, задумал сделать, что то наподобие логического анализатора 8-каналов на atmega (тестирую на АТ90CAN)
по внешнему прерываю считываю порт и передаю по UART на компьютер,
ISR(INT0_vect){
UDR1 = PINA;
}
подскажите на какой максимальной частоте эта штука сможет считывать данные с порта?
по внешнему прерываю считываю порт и передаю по UART на компьютер,
ISR(INT0_vect){
UDR1 = PINA;
}
подскажите на какой максимальной частоте эта штука сможет считывать данные с порта?
- COKPOWEHEU
- Говорящий с текстолитом
- Сообщения: 1525
- Зарегистрирован: Чт июн 10, 2010 20:11:19
Re: Нескольно простых вопросов о программировании AVR на Си.
С частотой возникновения прерывания. Но если оно возникает во время передачи предыдущего байта, данные-то будут считаны, но записаны не будут, возникнет ошибка DOR1 - переполнение. Так что рассчитывайте по скорости UART.
Но разве не лучше синхронизироваться с таймером, чем с внешним прерыванием?
Но разве не лучше синхронизироваться с таймером, чем с внешним прерыванием?
Согласно Евстифееву, "Следует иметь в виду, что работа микроконтроллера в режиме Slave гарантируется только на частотах, меньших или равных fclk/4", то есть он тактируется от тактовой контроллера, а с SCK только синхронизируется, также как и в случае внешнего (не асинхронного!) тактирования таймеров.SPI крутить 1 к 1 вопрос в том будет ли оно работать (SPI)?
Re: Нескольно простых вопросов о программировании AVR на Си.
я пробовал через буфер, но все равно на большой частоте пропуски получаются(COKPOWEHEU писал(а):С частотой возникновения прерывания. Но если оно возникает во время передачи предыдущего байта, данные-то будут считаны, но записаны не будут, возникнет ошибка DOR1 - переполнение. Так что рассчитывайте по скорости UART.
Но разве не лучше синхронизироваться с таймером, чем с внешним прерыванием?
Код: Выделить всё
#define UART_UDRTE_EN (UCSR1B |= _BV(UDRIE1))
#define UART_UDRTE_DES (UCSR1B &= ~_BV(UDRIE1))
#define DATA PINA
unsigned char countData = 0;
unsigned char dataBuffer[100];
unsigned char countSendBuffer = 0;
ISR(INT0_vect){
if(countData < 100){
dataBuffer[countData] = DATA;
countData ++;
}
if(!(UCSR1B & _BV(UDRIE1))) { //если прерывание по опустошению регистра не включено - включить
cli();
UART_UDRTE_EN;
sei();
}
}
ISR(USART1_UDRE_vect){
if(countSendBuffer != countData){
UDR1 = dataBuffer[countSendBuffer];
countSendBuffer ++;
}
if(countSendBuffer == countData){
cli();
UART_UDRTE_DES;
countData = 0;
countSendBuffer = 0;
sei();
}
}- COKPOWEHEU
- Говорящий с текстолитом
- Сообщения: 1525
- Зарегистрирован: Чт июн 10, 2010 20:11:19
Re: Нескольно простых вопросов о программировании AVR на Си.
Зачем cli и sei в прерывании?
Почему не использовали кольцевой буфер?
Точно средняя частота возникновения прерывания INT0 меньше скорости передачи по UART? Если больше то никакие ухищрения не помогут.
Точно для логического анализатора не нужна привязка к времени?
Почему не использовали кольцевой буфер?
Точно средняя частота возникновения прерывания INT0 меньше скорости передачи по UART? Если больше то никакие ухищрения не помогут.
Точно для логического анализатора не нужна привязка к времени?


