Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ATmega AVR
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.62/66: Рейтинг темы: голосов - 66, средняя оценка - 4.62
0 / 0 / 0
Регистрация: 24.11.2011
Сообщений: 24
1

Цифра По Uart/usart

27.11.2011, 19:35. Показов 12295. Ответов 37
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Привет всем. Уже 2 недели пытаюсь отправить цифру по уарт, но нечего не происходит.
пишу код так:
.
.
.
char t = UDR;
int a = atoi(t);
delay_ms(a);
.
.
.
а компилятор выдает ошибку...Что я делаю неправильно??? Спасибо!!!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.11.2011, 19:35
Ответы с готовыми решениями:

Соединение двух МEGA по UART(USART)
Мне необходимо обеденить две меги (например 32 и 8). Другие шины пока не интересуют, по той причине...

xmega: usart - какой глубины буфер в USART?
Взялся тут "запилить" на xmego32a4 мультиплексор двух rs232 в один rs485. Все как бы получилось и...

stm32vldiscovery usart\uart
Прошу помочь, usart принимает данные по 1 байту, нужен пример как принять несколько байт(пусть...

USART / UART baudrate смена скорости
Не нашел на форуме ответа на свой вопрос. Кто сталкивался с задачей уже после инициализации USORT...

37
0 / 0 / 0
Регистрация: 14.10.2011
Сообщений: 806
27.11.2011, 19:53 2
Цитата Сообщение от omtosh
Привет всем. Уже 2 недели пытаюсь отправить цифру по уарт, но нечего не происходит.
пишу код так:
.
.
.
char t = UDR;
int a = atoi(t);
delay_ms(a);
.
.
.
а компилятор выдает ошибку...Что я делаю неправильно??? Спасибо!!!
Думаю Вам надо начать с изучения как работает UART. Сейчас обьяснения что именно не так результата не дадут :)
0
0 / 0 / 0
Регистрация: 24.11.2011
Сообщений: 24
27.11.2011, 20:38 3
Сейчас обьяснения что именно не так результата не дадут :)
А Вы попробуйте может я пойму!?!?
0
0 / 0 / 0
Регистрация: 17.02.2011
Сообщений: 191
27.11.2011, 20:57 4
Ну судя по фрагменту, вы считываете, а не отправляете по УАРТу, это раз.
Потом смотря какую ошибку выдает компилятор... С телепатией здесь на форуме напряженка... Все улетели в теплые края)))

А по поводу данного фрагмента:
- Вам сначало надо дождатся взведения бита, который сигнализирует о том что принят байт, если используете прерывания, то читать из UDR, только в RXC обработчики прерыванеия.
0
0 / 0 / 0
Регистрация: 24.11.2011
Сообщений: 24
27.11.2011, 21:18 5
Цитата Сообщение от Tiopotdyus
смотря какую ошибку выдает компилятор...

<Изображение удалено>
0
0 / 0 / 0
Регистрация: 24.01.2010
Сообщений: 727
27.11.2011, 21:28 6
atoi хочет строку, а ты ему подсовываешь один символ.
одну цифру можно можно преобразовать проще: a=t-0;
0
0 / 0 / 0
Регистрация: 24.11.2011
Сообщений: 24
27.11.2011, 21:41 7
Цитата Сообщение от xroymom
atoi хочет строку, а ты ему подсовываешь один символ.
одну цифру можно можно преобразовать проще: a=t-0;
Спасибо!!! Понял!!!
0
0 / 0 / 0
Регистрация: 17.02.2011
Сообщений: 191
27.11.2011, 22:36 8
Вот собственно с скриншота надо было и начинать)))
0
0 / 0 / 0
Регистрация: 14.10.2011
Сообщений: 806
27.11.2011, 23:20 9
Цитата Сообщение от omtosh
Цитата Сообщение от xroymom
atoi хочет строку, а ты ему подсовываешь один символ.
одну цифру можно можно преобразовать проще: a=t-0;
Спасибо!!! Понял!!!

Вам важно разобраться, как через UART данные передавать, а не то почему компилятор ругается. Пятью темами ниже в «AT Miko16 + Usart» этот вопрос уже подымался, и в последнем сообщении есть ссылка, где все разжевано.
0
0 / 0 / 0
Регистрация: 09.01.2011
Сообщений: 544
27.11.2011, 23:39 10
Цитата Сообщение от xroymom
atoi хочет строку, а ты ему подсовываешь один символ.
одну цифру можно можно преобразовать проще: a=t-0;
Хех, а я-то 48 (не помню точно :) ) отнимал. :)
0
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 4,283
27.11.2011, 23:41 11
0x30
0
0 / 0 / 0
Регистрация: 09.01.2011
Сообщений: 544
28.11.2011, 02:47 12
Я же и говорю 48.
0
0 / 0 / 0
Регистрация: 28.09.2010
Сообщений: 4,283
28.11.2011, 03:59 13
& 0x0F
0
0 / 0 / 0
Регистрация: 24.11.2011
Сообщений: 24
28.11.2011, 19:32 14
Цитата Сообщение от tyzord66
Цитата Сообщение от omtosh
Цитата Сообщение от xroymom
atoi хочет строку, а ты ему подсовываешь один символ.
одну цифру можно можно преобразовать проще: a=t-0;
Спасибо!!! Понял!!!
Вам важно разобраться, как через UART данные передавать, а не то почему компилятор ругается. Пятью темами ниже в «AT Miko16 + Usart» этот вопрос уже подымался, и в последнем сообщении есть ссылка, где все разжевано.

Да я уже разабрался как передавать и получать данные через UART, просто я никак не мог получить из этих данных тип int. Сливи Богу есть такие сайты где всегда (ну...почти всегда) знающие люди гатовы помочь.
0
0 / 0 / 0
Регистрация: 14.10.2011
Сообщений: 806
28.11.2011, 21:48 15
Цитата Сообщение от omtosh
Сливи Богу есть такие сайты где всегда (ну...почти всегда) знающие люди гатовы помочь.
Omtosh, я понимаю Ваш сарказм :) , но бывают случаи, когда просто не знаешь с чего начать помогать. Ваш вопрос в совокупности с фрагментом кода…. Это как стоять рядом со свалкой стройматериалов, над которой бушует ураган, с надеждой, когда все уляжется, сам по себе сложится дом со всеми удобствами. Чтобы что то передать по UART надо понимать как им управлять, с чем я и порекомендовал Вам разобраться.
0
0 / 0 / 0
Регистрация: 24.11.2011
Сообщений: 24
29.11.2011, 01:20 16
Цитата Сообщение от tyzord66
…. Это как стоять рядом со свалкой стройматериалов, над которой бушует ураган, с надеждой, когда все уляжется, сам по себе сложится дом со всеми удобствами...
:D Буду иметь введу...
0
0 / 0 / 0
Регистрация: 24.11.2011
Сообщений: 24
01.12.2011, 12:38 17
и еще один вопрос, скажем из ПК хочу передать 500 которое ровно 01F4(16), передается по очереди символы 0, 1, F, 4, или 4, F, 1, 0???
0
0 / 0 / 0
Регистрация: 22.01.2010
Сообщений: 3,496
01.12.2011, 12:55 18
Цитата Сообщение от omtosh
и еще один вопрос, скажем из ПК хочу передать 500 которое ровно 01F4(16), передается по очереди символы 0, 1, F, 4, или 4, F, 1, 0???
ЧЕМ передаются? Сам ПК ничего не передаёт. Передаёт программа, которая на нем запущена. А программа передаёт так, как она сделана.
0
0 / 0 / 0
Регистрация: 06.06.2011
Сообщений: 2,514
01.12.2011, 17:14 19
Цитата Сообщение от omtosh
и еще один вопрос, скажем из ПК хочу передать 500 которое ровно 01F4(16), передается по очереди символы 0, 1, F, 4, или 4, F, 1, 0???
передаются байты.
можно передавать в бинарном виде по 2 байта снала 0х01, потом 0xF4,
можно передавать в ascii строку: 5, 0, 0 , какой-нибудь символ окончания строки, например 0x0A, тогда посылка будет 0x35, 0x30, 0x30, 0x0A
конечно если очень хочется, можно передавать и шеснадцатиричное число в ascii строке.
0
vdb
01.12.2011, 20:57 20
С символом окончания строки могут быть проблемы, если в строке может легально находиться 0x0A (хвост предыдущего пакета может интерпретироваться как тело текущего, при каком-то стечении набора байтов).
01.12.2011, 20:57
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.12.2011, 20:57
Помогаю со студенческими работами здесь

передача данных с 2 портов can и 1 usart в usart
Доброго времени суток форумчане! Пытаюсь написать код для stm32f4disko с помощью которого можно...

stm32vldiscovery usart\uart
Прошу помощи, делаю меню на usart, но не знаю как сравнить введенные данные. Суть такая: 1....

Отправка данных в цикле (UART/USART)
Нужно, чтобы при нажатии кнопки в форме, на порт отправлялись данные, причем зацикленно, до тех...

Приём данных с usart через dma в память периферии и вывод обратно на usart (для проверки)
Подскажите, как сделать так, чтобы при отправке через usart в переменную и обратно вывести по...

. Дана строка, изображающая арифметическое выражение вида «<цифра>±<цифра>±…±<цифра>», где на месте знака операции «±» н
Дана строка, изображающая арифметическое выражение вида «&lt;цифра&gt;±&lt;цифра&gt;±…±&lt;цифра&gt;», где на месте...

Cтрока: Вывести значение арифметическое выражение вида «<цифра>±<цифра>±…±<цифра>»...
Дана строка, изображающая арифметическое выражение вида «&lt;цифра&gt;±&lt;цифра&gt;±…±&lt;цифра&gt;», где на месте...

Дана строка <цифра>+<цифра>-.+<цифра> посчитать сколько получиться
дана строка &lt;цифра&gt;+&lt;цифра&gt;-....+&lt;цифра&gt; посчитать сколько получиться


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru