Easyelectronics.ru

Электроника для всех
Текущее время: 22 янв 2021, 11:31

Часовой пояс: UTC + 5 часов



JLCPCB – Прототипы печатных плат за $2/5шт. два слоя. $5/5шт. четыре слоя
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 35 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: Не могу передать строку по uart
СообщениеДобавлено: 08 фев 2020, 00:12 
Старожил

Зарегистрирован: 11 сен 2012, 11:19
Сообщения: 5896
Массовая деградация...
Вы долго форум смешить будете?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не могу передать строку по uart
СообщениеДобавлено: 08 фев 2020, 07:43 
Только пришел

Зарегистрирован: 05 фев 2020, 11:58
Сообщения: 11
ILYAUL писал(а):
Какой проц? Где смотрите белиберду?

Плата ардуино Мега2560, пишу в Атмел студио. Началось с того, что не выводит строку на LCD "Hello world", если посимвольно передавать типа send('H'); send('e') ..... и т.д. то все ок. Как выяснилось далее, не передает переменные. Вот такая конструкция тоже не работает, в смысле работает но передает нули.
Код:

float n=20.25;

LCD_send_float(n);

void LCD_sendstr (unsigned char str1[])
{
   unsigned char c = '\n';
   int n=0;
   for(n=0;str1[n]!='\0';n++)
   {
      c = str1[n];
      LCD_sendchar(c);
   }
   
}

void LCD_sendFloat (float a)
{
   int b=(int)a;
   int c=(a-b)*100;
   unsigned char msg[6];
   msg[0]=(b/10+0x30);
   msg[1]=(b%10+0x30);
   msg[2]='.';
   msg[3]=(c/10+0x30);
   msg[4]=(c%10+0x30);
   msg[5]='\0';
   LCD_sendstr(msg);
   
}


На экране высвечивается 00.00
Эти все примеры были рабочие на ардуино уно написанные в среде ардуино иде, просто решил перейти на другую плату и в другую среду (или пятницу )). )

dosikus_2 писал(а):
Массовая деградация...
Вы долго форум смешить будете?

Вообще не до смеха. Ваще горе от недостатка знания.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не могу передать строку по uart
СообщениеДобавлено: 08 фев 2020, 12:43 
Старожил
Аватара пользователя

Зарегистрирован: 01 дек 2013, 18:06
Сообщения: 232
Откуда: г. Волгоград.
Цитата:
Вы долго форум смешить будете?


Смех продлевает жизнь :))


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не могу передать строку по uart
СообщениеДобавлено: 08 фев 2020, 19:57 
Только пришел

Зарегистрирован: 05 фев 2020, 11:58
Сообщения: 11
Залил ардуиновский бутлоадер залил код выше написаный-все работает. Почему в Студии ничего не получается????


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не могу передать строку по uart
СообщениеДобавлено: 08 фев 2020, 20:09 
Старожил
Аватара пользователя

Зарегистрирован: 04 окт 2011, 10:19
Сообщения: 2140
Потому что есть Алешка у тебя


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не могу передать строку по uart
СообщениеДобавлено: 09 фев 2020, 14:17 
Здравствуйте!

Зарегистрирован: 04 фев 2020, 13:04
Сообщения: 4
Fil1 писал(а):
...
Эти все примеры были рабочие на ардуино уно написанные в среде ардуино иде, просто решил перейти на другую плату и в другую среду (или пятницу )). )
...


По своему опыту пробовал работать с UART в среде AS7.
Дело в том, что в Arduino->AVR очень много скрытых инициализаций на уровне процессора.
А в AS7, в свою очередь, нужно инициализировать всё вручную.

Вы точно настроили пины для дисплея? Обычно пины настраиваются внешней функцией и передачей её параметров (пинов) в качестве аргументов функции. Или наоборот, пины могут конфигурироваться в .h файле.

Далее, вы используете USART библиотеку - она очень большая по размеру.
Я Вам советую использовать Software UART библиотеку, которая очень компактная и эмулирует работу UART.
Во вложении самая компактная библиотека для AS7, которую я нашел для Software UART (AVR).
Параметры и пины устанавливаются в файле softuart.h.


Вложения:
softuart.zip [3.2 Кб]
Скачиваний: 107
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не могу передать строку по uart
СообщениеДобавлено: 09 фев 2020, 15:46 
Старожил

Зарегистрирован: 19 мар 2011, 05:05
Сообщения: 3066
у товарища вопрос: почему с конкретным кодом у него посимвольно все получается, а построчно - фигня какая-то выходит. а вы ему предлагаете другие библиотеки и платформы. я подозреваю разные компиляторы и ключи компиляции.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не могу передать строку по uart
СообщениеДобавлено: 09 фев 2020, 16:29 
Здравствуйте!

Зарегистрирован: 04 фев 2020, 13:04
Сообщения: 4
goreprogrammist, я к т ому, что у меня также были проблемы с библиотекой UASRT - что-то со скоростью не так было.
Перешёл на другую библиотеку и оно заработало.
И в симуляции Proteus показывало одно, а на реальном микроконтроллере другое.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не могу передать строку по uart
СообщениеДобавлено: 09 фев 2020, 17:36 
Только пришел

Зарегистрирован: 05 фев 2020, 11:58
Сообщения: 11
Создал проект в АСтудии 7 под контроллер atmega328P (arduino nano) перенес туда все функции по uart, выложенные выше, прошиваю дудкой c помощью Usbasp программатора. Блин!!! Все работает как надо строки с оперативы гонит, строки с флеша гонит, перенные гонит. Это,что косяк среды АС 7 ???


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Не могу передать строку по uart
СообщениеДобавлено: 12 фев 2020, 15:07 
Старожил

Зарегистрирован: 25 фев 2011, 18:45
Сообщения: 3693
Откуда: Новосибирск
Fil1 писал(а):
Создал проект в АСтудии 7 под контроллер atmega328P (arduino nano) перенес туда все функции по uart, выложенные выше, прошиваю дудкой c помощью Usbasp программатора. Блин!!! Все работает как надо строки с оперативы гонит, строки с флеша гонит, перенные гонит. Это,что косяк среды АС 7 ???

С ATMEGA2560 не работал. Не было надобности в таком жирном проце. С 7 студией не работал. Слишком тяжеловесная среда. Работаю в IAR, программы отлаживаю в симуляторе avr studio 4.19. Так как это самая не глючная версия студии.
По вопросу, если работает на другом МК, ищите, чем они отличаются.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 35 ]  На страницу Пред.  1, 2


Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB