0 / 0 / 0
Регистрация: 24.11.2011
Сообщений: 24
|
|
1 | |
Цифра По Uart/usart27.11.2011, 19:35. Показов 12295. Ответов 37
Метки нет (Все метки)
Привет всем. Уже 2 недели пытаюсь отправить цифру по уарт, но нечего не происходит.
пишу код так: . . . char t = UDR; int a = atoi(t); delay_ms(a); . . . а компилятор выдает ошибку...Что я делаю неправильно??? Спасибо!!!
0
|
27.11.2011, 19:35 | |
Ответы с готовыми решениями:
37
Соединение двух МEGA по UART(USART) xmega: usart - какой глубины буфер в USART? stm32vldiscovery usart\uart USART / UART baudrate смена скорости |
0 / 0 / 0
Регистрация: 14.10.2011
Сообщений: 806
|
|
27.11.2011, 19:53 | 2 |
Сообщение от omtosh
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
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
Вам важно разобраться, как через UART данные передавать, а не то почему компилятор ругается. Пятью темами ниже в «AT Miko16 + Usart» этот вопрос уже подымался, и в последнем сообщении есть ссылка, где все разжевано.
0
|
0 / 0 / 0
Регистрация: 09.01.2011
Сообщений: 544
|
|
27.11.2011, 23:39 | 10 |
Сообщение от xroymom
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
Да я уже разабрался как передавать и получать данные через UART, просто я никак не мог получить из этих данных тип int. Сливи Богу есть такие сайты где всегда (ну...почти всегда) знающие люди гатовы помочь.
0
|
0 / 0 / 0
Регистрация: 14.10.2011
Сообщений: 806
|
|
28.11.2011, 21:48 | 15 |
Сообщение от omtosh
0
|
0 / 0 / 0
Регистрация: 24.11.2011
Сообщений: 24
|
|
29.11.2011, 01:20 | 16 |
Сообщение от tyzord66
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
0
|
0 / 0 / 0
Регистрация: 06.06.2011
Сообщений: 2,514
|
|
01.12.2011, 17:14 | 19 |
Сообщение от omtosh
можно передавать в бинарном виде по 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 | |
01.12.2011, 20:57 | |
Помогаю со студенческими работами здесь
20
передача данных с 2 портов can и 1 usart в usart stm32vldiscovery usart\uart Отправка данных в цикле (UART/USART) Приём данных с usart через dma в память периферии и вывод обратно на usart (для проверки) . Дана строка, изображающая арифметическое выражение вида «<цифра>±<цифра>±…±<цифра>», где на месте знака операции «±» н Cтрока: Вывести значение арифметическое выражение вида «<цифра>±<цифра>±…±<цифра>»... Дана строка <цифра>+<цифра>-.+<цифра> посчитать сколько получиться Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |