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

 
 
> AT89S8252 - помогите начинающему
kser
сообщение Nov 7 2007, 11:47
Сообщение #1





Группа: Новичок
Сообщений: 2
Регистрация: 7-11-07
Пользователь №: 32 125



Помогите пожалуйста начинающему. Я написал тестовую програмку для работы с UART для микроконтроллера Atmel AT89S8252, но микроконтроллер не отсылает назад полученный байт (то что микроконтроллер получает байт я проверил вывев его на порт Р2) . Для написания использовал среду разроботки IAR Embedded Workbench for MCS-51 Evaluation.
Текс программы:

#include <ioAT89S8252.h>
char y;

int main( void )
{
SCON=0x50;//выбор 1 режима UART и установка бита REN в 1
TMOD=TMOD | 0x20;//установка таймера/счётчика 1 в режим работы таймера во 2 режим для тактирования обмена данными
TH1=0xfd;//для скорости обмена данными 9600 бод при бите SMOD==0 (скорость не удваивается) регистра PCON при частоте кварцевого резонатора - 11,059200 МГц
TL1=0xfd;
IE_bit.ES=1;
IE_bit.EA=1;
TCON_bit.TR1=1;//запуск таймера 1
P2=0;
while(1);
}
#pragma vector=0x23
__interrupt void SCON_int (void) //прерывание происходит если TI=1 или RI=1 или SPIF=1
{
if (SCON_bit.RI == 1)
{
SCON_bit.RI = 0; /* clear reception flag for next reception */
y = SBUF; /* Read receive data */
P2=y;
SBUF = y;/* Send back same data on uart*/
SCON_bit.TI = 0;
}
else SCON_bit.TI = 0; /* if emission occur */
} /* clear emission flag for next emission*/

Если кто-то занет в чём проблема или ошибка напишите пожалуйста. Заранее благодарен за ответ.
Go to the top of the page
 
+Quote Post



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

 


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


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