使用AI-ISP (V6.94J) UART Baudrate Tool , BRT = 0xFF KEIL编译失败
使用AI-ISP (V6.94J)其中的UART Baudrate Tool
void Uart1_Init(void) //921600bps@33.1776MHz
{
PCON &= 0x7F; //Baudrate no doubled
SCON = 0x50; //8 bits and variable baudrate
AUXR |= 0x04; //imer clock is 1T mode
BRT = 0xFF; //Set reload value
AUXR |= 0x01; //UART1 use BRT as baudrate generator
AUXR |= 0x10; //BRT running
}
KEIL编译
显示 BRT = 0xFF KEIL编译失败
请问BRT是什么 要怎么处理 看看芯片对应的手册里有没有这个寄存器,,,看起来你选择不是使用定时器作为波特率发生器,,
新一点儿的单片机已经没有独立波特率发生器的说,,,最好你还是看看你用的片子有没有这个东西吧 本帖最后由 晓飛飛 于 2024-9-2 17:26 编辑
BRT在辅助寄存器AUXR里的最低位,是独立的串口波特率使能配置位,一些旧型号的单片机是可以支持的,但在新的单片机手册里面几乎没什么描述,应该是新单片机不支持相应的功能,头文件里面这个寄存器为S1BRT,你试试把BRT修改为S1BRT看看能不能用,我这边不方便测试。
另外强烈建议用定时器做波特率发生器,这个不管是老单片机还是新单片机,都是确认没问题的。
BRT是这么用的
DebugLab 发表于 2024-9-2 17:34
BRT是这么用的
编译器自动运算后写入定时器 【编译失败】--》上个截图,看看是什么提示?
24 01. UART Baudrate Tool
02. 程式码
03. KEIL编译失败
slo057 发表于 2024-9-2 20:37
01. UART Baudrate Tool
02. 程式码
03. KEIL编译失败
这个是未定义的错误。
我用STC-ISP V6.94H版的工具试了一下,你选的是“独立波特率发生器”选项,故要看你的器件是否包含这个资源。
我查了一下,这个BTR好像只有STC12C系列有,其他系列请选择其他的选项,例如定时器1,定时器2。程序需包含该芯片的对应的头文件(可在stc-isp统一添加)。
36
DebugLab 发表于 2024-9-2 17:34
BRT是这么用的
建议使用定时器2做波特率发生器,像这样定义
页:
[1]