реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Прием данных, At91sam7s
alexe1ka
сообщение Oct 13 2013, 18:46
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 31
Регистрация: 30-03-13
Пользователь №: 76 276



Есть ли у кого нибудь пример где подробно описан прием данных через ком порт(UsART)???
а то собираюсь сделать,хотелось бы пример посмотреть.
Работаю с AT91Sam7s-ek
Go to the top of the page
 
+Quote Post
RED_BULLok
сообщение Oct 14 2013, 06:48
Сообщение #2


Участник
*

Группа: Свой
Сообщений: 58
Регистрация: 27-03-08
Из: Беларусь, Минск
Пользователь №: 36 275



Цитата(alexe1ka @ Oct 13 2013, 21:46) *
Есть ли у кого нибудь пример где подробно описан прием данных через ком порт(UsART)???
а то собираюсь сделать,хотелось бы пример посмотреть.
Работаю с AT91Sam7s-ek



Посмотрите тут
Go to the top of the page
 
+Quote Post
Ixt
сообщение Oct 15 2013, 18:17
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 76
Регистрация: 27-10-06
Из: Брянск
Пользователь №: 21 724



Цитата(alexe1ka @ Oct 13 2013, 22:46) *
Есть ли у кого нибудь пример где подробно описан прием данных через ком порт(UsART)???
а то собираюсь сделать,хотелось бы пример посмотреть.
Работаю с AT91Sam7s-ek


И что, неужели вот тут ничего нету?
Go to the top of the page
 
+Quote Post
toweroff
сообщение Oct 15 2013, 22:14
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



кстати
А как вообще сделать красиво без отключения прерывания?
Пока у меня сделано так

1. путчар
а) нет передачи (аппаратный флаг) - в THR
б) есть передача - в буфер

в прерывании

а) Есть в буфере еще что-то - в THR
б) нет - ну так и нет

вроде работает. Но смущают такие моменты граничные, например, когда проверили флаг наличия передачи, тут нас прервали, ушли в прерывание, там пусто, передачи нет, вернулись и положили все в буфер. Патовая ситуация? Передача не начнется?
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Oct 15 2013, 22:28
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



А чем не устраивает вариант всегда класть в буфер и разрешать прерывание? А с THR пусть уж оно и разбирается.
Go to the top of the page
 
+Quote Post
toweroff
сообщение Oct 16 2013, 06:17
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Цитата(aaarrr @ Oct 16 2013, 02:28) *
А чем не устраивает вариант всегда класть в буфер и разрешать прерывание? А с THR пусть уж оно и разбирается.

так ведь THRE возникает в момент окончания передачи байта. Если просто складывать в буфер и разрешить прерывание, оно, родимое, так и не произойдет - никто не записал в THR и, соответственно, еще ничего не передалось
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Oct 16 2013, 10:07
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(toweroff @ Oct 16 2013, 10:17) *
так ведь THRE возникает в момент окончания передачи байта.

Нет, прерывание устанавливается просто по факту отсутствия данных в THR.
Go to the top of the page
 
+Quote Post
toweroff
сообщение Oct 16 2013, 13:56
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Цитата(aaarrr @ Oct 16 2013, 14:07) *
Нет, прерывание устанавливается просто по факту отсутствия данных в THR.

ок, попробую
а выключать прерывание, соответственно, в нем самом по факту отсутствия данных в буфере..
Go to the top of the page
 
+Quote Post
smalcom
сообщение Oct 16 2013, 16:11
Сообщение #9


Профессионал
*****

Группа: Свой
Сообщений: 1 292
Регистрация: 26-06-07
Пользователь №: 28 718



Цитата
ком порт(UsART

так ком-порт или USART?
если ком-порт,то
Цитата
man 3 read
SYNOPSIS
#include <unistd.h>

ssize_t read(int fd, void *buf, size_t count);

DESCRIPTION
read() attempts to read up to count bytes from file descriptor fd into the buffer starting at buf.


а если для USART'а, то простите мне за риск повергания в коллапс вселенной за парадокс, но пример работы с USART находится по адресу http://www.atmel.com/tools/AT91SAMSOFTWAREPACKAGE.aspx
2-й уровень настойчивости - https://www.google.com.ua/#q=atmel+at91sam7...pplication+note
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 23:59
Рейтинг@Mail.ru


Страница сгенерированна за 0.01421 секунд с 7
ELECTRONIX ©2004-2016