Jump to content

    

avrdude вывод по UART

В этой статье есть пример работы с Arduimo на Си

 

В Makefile изменил DEVICE

Quote

DEVICE     = atmega328p

изменил CLOCk 

Quote

CLOCK      = 1000000

изменил настройки AVRDUDE

Quote

AVRDUDE = avrdude -c arduino -p m328p -b 115200 -D -P COM3 -v

Светодиод мигает.
Далее, пытаюсь загрузить во flash программу, которая должна выводить в терминал сообщение по UART. Программу взял из этой статьи 
Заменил в этой программе частоту на 1000000 и боды на 115200. Программа компилируется и загружается во flash, но в терминал ничего не выводится

Share this post


Link to post
Share on other sites
On 4/26/2019 at 8:48 AM, mcheb said:

1000000/16 = 57600.

1000000/16 = 62500, что очень далеко от 57600

при такой тактовой частоте скорость выше 4800 вряд ли получишь (9600 если удвоенная скорость UART)

Share this post


Link to post
Share on other sites

До 19200 с очень хорошей точностью, но и 57600-115200 получается приемлемо (ошибка менее 2%). 

Share this post


Link to post
Share on other sites

А откуда у вас взялась цифра в 1000000? Ардуино работает на 16МГц.

Edited by rkit

Share this post


Link to post
Share on other sites
On 5/10/2019 at 5:56 PM, rx3apf said:

До 19200 с очень хорошей точностью, но и 57600-115200 получается приемлемо (ошибка менее 2%). 

при тактовой 1 МГц - не получится. сначала делится на 16 (8 при удвоенной скорости UART), а потом из нее нужно получить заданную скорость обмена.

Share this post


Link to post
Share on other sites

Виноват, обсчитался в нулях (подумал, что 10 MHz).

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now