|
AVR и ПК, AVR и ПК |
|
|
|
 |
Ответов
|
Mar 15 2007, 10:25
|
Местный
  
Группа: Свой
Сообщений: 437
Регистрация: 23-04-05
Из: Таганрог
Пользователь №: 4 425

|
Как и обещал, готовый проект в прикрепленном файле. 12 МГц - не очень удачная частота для UART, кстати, вы уверены, что работаете от кварца а не от внутреннего генератора? Для работы примера, вам надо установить fuse биты так, чтобы работа шла от внутреннего генератора 1 МГц, причем эта частота в кристале выставлена по умолчанию (т.е. если в fuse битах вы ничего не меняли, то и не надо этого делать). Программа инициализирует UART на скорость 2400, и в цикле непрерывно шлет данные.
Прикрепленные файлы
USART.zip ( 6.02 килобайт )
Кол-во скачиваний: 35
|
|
|
|
|
Mar 15 2007, 15:08
|

Группа: Новичок
Сообщений: 11
Регистрация: 24-02-07
Из: Воронеж
Пользователь №: 25 622

|
Цитата(Dopler @ Mar 15 2007, 10:25)  Как и обещал, готовый проект в прикрепленном файле. 12 МГц - не очень удачная частота для UART, кстати, вы уверены, что работаете от кварца а не от внутреннего генератора? Для работы примера, вам надо установить fuse биты так, чтобы работа шла от внутреннего генератора 1 МГц, причем эта частота в кристале выставлена по умолчанию (т.е. если в fuse битах вы ничего не меняли, то и не надо этого делать). Программа инициализирует UART на скорость 2400, и в цикле непрерывно шлет данные. Спасибо огромное, работает. Но что же получается усарт работает не от кварца, а от внутреннего генератора. Я то думал наооборот, и расчитывал делители для 12 МГц. И теперь если я захочу поменять скорость передачи\приёма то надо будет расчитывать делитель для 1 МГц а не для 12?
|
|
|
|
|
Mar 15 2007, 17:34
|
Местный
  
Группа: Свой
Сообщений: 437
Регистрация: 23-04-05
Из: Таганрог
Пользователь №: 4 425

|
На этом этапе я рекомендовал бы вам огласить пргограмматор, которым вы пользуетесь (какой программой шьете), так как программирование fuse может привести к тому, что больше вы контроллер не увидите (всмысле не сможете перепрограммировать). Цитата(Сергей Борщ @ Mar 15 2007, 10:55)  Мама! Откуда столько? int(12000000/8/115200) = 13. 12000000/8/13 = 115384. (115384 - 115200)/115200 * 100 = 0.16%
Выкиньте такую программу, считайте сами. У вас просто двойная скорость UART, а в программе видно одиночная.
|
|
|
|
|
Mar 15 2007, 20:33
|

Гуру
     
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095

|
Цитата(Dopler @ Mar 15 2007, 16:34)  У вас просто двойная скорость UART, а в программе видно одиночная. Ну так если одиночная не подходит, надо включать двойную а не снижать скорость обмена со словами "не получилось". К тому же сообщение, на который писался ответ звучало: Цитата Есть такая программа, называется AvrCalc.exe(прикрепить что то не удается - гугль в помощь) так вот, согласно этой программы при кварце 12МГц и скорости 115200 получается ошибка установки скорости 7.84% Тут ни про какую двойную скорость не говорится. P.S. у меня прекрасно работает 115200 при кварце 12.8МГц.
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
Сообщений в этой теме
dim_OK AVR и ПК Mar 12 2007, 19:20 Kuzmi4 2 dim_OK - чтобы было проще и вам и нам не моглы б... Mar 12 2007, 19:25 Igor26 Цитатаи тут же отправляет обратно
...с этого моме... Mar 12 2007, 20:31 bodja74 Думаю лучше начать с того ,чтобы МК вообще что ниб... Mar 12 2007, 21:51 GDaniloff ничего не имею против max232, но можно обойтись и ... Mar 12 2007, 22:29 Волощенко Цитата(dim_OK @ Mar 12 2007, 20:20) ... А... Mar 13 2007, 10:05 dim_OK Вот она! Причём если задан правильный делитель... Mar 13 2007, 11:10 Волощенко Цитата(dim_OK @ Mar 13 2007, 12:10) ldi r... Mar 13 2007, 11:34 Kuzmi4 Тут нуна действительно посмотреть на инициализацию... Mar 13 2007, 11:49 Dopler Было бы еще неплохо знать, что за МК, так как у ра... Mar 13 2007, 12:45 dim_OK Да придётся Си изучать ибо я в нём не силён. Ну а ... Mar 13 2007, 13:37 Kuzmi4 2 dim_OK - всё же советую вам всё таки построить п... Mar 13 2007, 13:44 dim_OK Ага, а что значит сделать проверку. Вот этого чест... Mar 13 2007, 21:51 Dopler Цитата(dim_OK @ Mar 13 2007, 21:51) Ага, ... Mar 13 2007, 22:44  dim_OK [/quote]
Вам надо просто написать здесь, какой у в... Mar 14 2007, 10:08 GDI Есть такая программа, называется AvrCalc.exe(прикр... Mar 14 2007, 12:22 dim_OK Цитата(GDI @ Mar 14 2007, 12:22) Есть так... Mar 14 2007, 19:10 Сергей Борщ Цитата(GDI @ Mar 14 2007, 11:22) Есть так... Mar 15 2007, 10:55  Kovrov Цитата(Сергей Борщ @ Mar 15 2007, 10:55) ... Mar 16 2007, 13:54   Сергей Борщ Цитата(Kovrov @ Mar 16 2007, 12:54) навер... Mar 16 2007, 15:30 GDI ЦитатаМама! Откуда столько?
int(12000000/8/115... Mar 15 2007, 11:17 GDI УСАРТ работает от того генератора что вы выберите,... Mar 15 2007, 16:23 GDI Так и у автора одиночная скорость, UCSRA = 0x00, в... Mar 16 2007, 10:46 Сергей Борщ Цитата(GDI @ Mar 16 2007, 09:46) Судя по ... Mar 16 2007, 13:34
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|