使用STM32来在串口模式下操作CH375B芯片,在默认波特率9600下,读写文件等功能均测试OK。
感觉打开文件比较慢,不知道是否是波特率比较低的原因,尝试更改波特率,使用代码如下:
static UINT8 adjustBaudrate(void)
{
USART_InitTypeDef _usart;
xWriteCH375Cmd(CMD_SET_BAUDRATE);
// xWriteCH375Data(0x03);
// xWriteCH375Data(0xC4); //100 000
// USART1->BRR = 0x0168;
// xWriteCH375Data(0x03);
// xWriteCH375Data(0xCC); //115 200
// USART1->BRR = 0x0138;
xWriteCH375Data(0x02);
xWriteCH375Data(0xD9); //19 200
USART1->BRR = 0x0753;
// xWriteCH375Data(0x02);
// xWriteCH375Data(0xB2); //9 600
// USART1->BRR = 0x0EA6;
//
return xReadCH375Data();
}
测试了几种情况,在默认9600的波特率下,用示波器监测CH375B TxD引脚的信号,除了执行修改波特率为9600的命令有信号外(返回值为0x51,即CMD_RET_SUCCESS),其他情况下均无信号。
所以,从上面的结果来看,修改波特率为9600能成功,时序和代码应该是没问题的。
现在的问题是为什么修改为其他的波特率都不能成功?