This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC2530 串口波特率修改

Other Parts Discussed in Thread: Z-STACK

你好,想请教个问题:

我用的是ZStack-Lighting_Kit (processors.wiki.ti.com/.../ZStack-Lighting_Kit)
IAR Assembler for 8051 (8.30.2)
目标工程是Texas Instruments\Z-Stack Lighting 1.0.2\Projects\zstack\ZLL\SampleApp\CC253x\SampleApp.eww
在ZLLRC工程的基础上,做了实验板出来,开出了串口0(原来P0_2,P0_3是用作按键),将
Texas Instruments\ZStack-CC2530-2.5.1a\Projects\zstack\Utilities\SerialApp\CC2530DB\SerialApp.eww工程的串口部分移植SampleApp.eww中去,在波特率38400上串口能够成功收发。但是由于要兼容公司老产品,串口波特率需要工作在1200上,可是看到手册里面最低只写到了2400 ,我按照网上一些网友的经验资料,改到了2400,会出现丢码的情况。

主要改动如下:
hal_board_cfg.h文件串口部分也做了相应的修改。将SerialApp.c和.h文件拷贝过来。
SerialApp.c文件中将#define SERIAL_APP_BAUD HAL_UART_BR_38400 改成了 HAL_UART_BR_2400//HAL_UART_BR_1200
_hal_uart_dma.c文件(由Texas Instruments\Z-Stack Lighting 1.0.2\Components\hal\target\CC2530ARC目录下复制过来的)的HalUARTOpenDMA函数中,增加了HAL_UART_BR_2400和HAL_UART_BR_1200 的相关设置,
case HAL_UART_BR_1200:
UxGCR = 5;
dmaCfg.txTick = 274; //这里的值超出了txTick的数据类型范围uin8,暂时没想到怎么解决,
case HAL_UART_BR_2400:
UxGCR = 6;
dmaCfg.txTick = 137;
采用2400通信的时候,会出现丢码的情况,比如我讲26个字母一次传入,要么就是丢l或者k ,w或者x,有时候就干脆完全没反应,什么都不输出。

请问能不能够将2530串口的工作波特率射到1200上呢?需要如何修改才能实现?