在线时间9 小时
UID164892
注册时间2007-6-20
NXP金币0
该用户从未签到
注册会员

- 积分
- 154
- 最后登录
- 2021-12-2
|
各位使用MQX的朋友,在下使用MQX做UART通信,首先根据硬件情况修改了twrk60n512.h和user_config.h后,采用中断模式,在终端能正常显示输出数据,但是如果将波特率修改为115200以下,则开始输出数据出现乱码,但是后来正常。思考查证了很长时间也找不出来原因。请各位朋友赐教!谢谢了。下面是我的源代码。
void DrvUARTInit(uint_32 baud)
{
fflush(stdout);
dev_ptr = (pointer)fopen("ittyd:", BSP_DEFAULT_IO_OPEN_MODE);
if (dev_ptr == NULL)
{
printf("cannot open file: ittyd\n");
}
else
{
printf("\nittyd: Device Handler opened successfully\n");
fflush(stdout);
}
ioctl(dev_ptr,IO_IOCTL_SERIAL_SET_BAUD,&baud);
}
void DrvUARTSendString(char string[],int len)
{
write(dev_ptr, (pointer)string, len);
}
extern void main_task(uint_32);
TASK_TEMPLATE_STRUCT MQX_template_list[] =
{
{ 10, main_task, 2000, 8, "Main",
MQX_AUTO_START_TASK, 0, 0},
{ 0, 0, 0, 0, 0,
0, 0, 0}
};
void main_task
(
uint_32 initial_data
)
{
int length;
DrvUARTInit(115200); //该函数可以修改波特率
length=sizeof(string);
DrvUARTSendString(string,length);
printf("\n Type 4 characters into UART3 terminal\n");
printf("\n Type 4 characters into UART3 terminal\n");
_task_block();
}
|
|