Свежие обсуждения
Микроконтроллеры

TMS320F2812

1 5

Кто-нибудь подскажет как настраиваются порты RS232 на процессоре TMS320F2812 или где взять доку на русском ?

 

Как-то так


movz dp,#0x1C1 ;SCI-A page
mov @SCIACCR,#0x0007 ;8N1 data format
mov @SCIAHBAUD,#0x0000 ;BRR=0x1A
mov @SCIALBAUD,#0x001A ;baud=115.2kbaud
mov @SCIACTL1,#0x0003 ;tx & rx enabled
mov @SCIFFTXA,#0xE000 ;fifo enabled
mov @SCIFFRXA,#0x201F ;re-enable rsv fifo operation
mov @SCIFFCTA,#0x0000 ;no autobaud detect
mov @SCIACTL1,#0x0023 ;relinquish SCIA from reset

И не забыть настроить пины и включить клок.

 

вот про GPAMUX и клок поподробнее
и хотелосьбы подробное описание настроек всех ригистров порта
@SCIALBAUD,#0x001A -вот этот регистр помойму на прямую от частоты зависит

 

вот про GPAMUX и клок поподробнее
и хотелосьбы подробное описание настроек всех ригистров порта
@SCIALBAUD,#0x001A -вот этот регистр помойму на прямую от частоты зависит

 

Покажите ваш вариант, как оно там зависит...Да, и пжлст, не плодите одинаковые топики в разных форумах.

 

ciaRegs.SCILBAUD = 0x00a1; /* BRR= (LSPCLK/(Baud * 8)) -1; == 0xa1 */

 

Ну пока я понял вот что

GPFMUX=30h /как я понял разрешить порт

SCICCRA=111b // регистр настройки передачи
SCITL1=11b //включает Tx,RX
SCIHBAUD
SCILBAUD //два регистра скорости рассчитывается по формуле
SCICTL2 -?
SCIRXST-?
SCIRXEMU-?
SCIRXBUF -вроде отсюда надо данные брать
SCITXBUF -вроде суда надо данные писать
SCIFFTX - включить фифо
SCIFFRX -?
SCIFFCT - что за авто не совсем понятно
SCIPRI -? (что за приоритет)

 

Diablo@Dragon: @SCIALBAUD,#0x001A -вот этот регистр помойму на прямую от частоты зависит
Diablo@Dragon: ciaRegs.SCILBAUD = 0x00a1; /* BRR= (LSPCLK/(Baud * 8)) -1; == 0xa1 */
Наоборот, скорость передачи зависит от содержимого регистра делителя

Diablo@Dragon: Ну пока я понял вот что
GPFMUX=30h /как я понял разрешить порт
SCICCRA=111b // регистр настройки передачи
SCITL1=11b //включает Tx,RX
SCIHBAUD
SCILBAUD //два регистра скорости рассчитывается по формуле

Немного.

SCICTL2 - нужен для работы с передатчиком
SCIRXST- нужен для работы с приёмником
SCIRXEMU - никому не нужен, только для отладки
SCIRXBUF - принятые данные
SCITXBUF - данные на передачу
SCIFFTX - для работы с буфером передатчика
SCIFFRX - для работы с буфером приёмника
SCIFFCT - принимает А или а и устанавливает соответствующую скорость
SCIPRI - никому не нужен, только для отладки

В большинстве случаев для практики достаточно тех уставок, что я дал в первом посте.

 

mov @SCIAHBAUD,#0x0000 ;BRR=0x1A
mov @SCIALBAUD,#0x001A ;baud=115.2kbau

несовсем понятно откуда такое значение (0х1а) ?

 

Зависит от lspclk, у меня 25.