uint32 bluetooth_ch9141_send_buff (uint8 *buff, uint32 len) { uint16 time_count = 0; while(len > 30) { time_count = 0; while(BLUETOOTH_CH9141_RTS_PIN && time_count++ < BLUETOOTH_CH9141_TIMEOUT_COUNT) // 如果RTS为低电平,则继续发送数据 delay_ms(1); if(time_count >= BLUETOOTH_CH9141_TIMEOUT_COUNT) return len; // 模块忙,如果允许当前程序使用while等待 则可以使用后面注释的while等待语句替换本if语句 uart_putbuff(BLUETOOTH_CH9141_INDEX, buff, 30); buff += 30; // 地址偏移 len -= 30; // 数量 } time_count = 0; while(BLUETOOTH_CH9141_RTS_PIN && time_count++ < BLUETOOTH_CH9141_TIMEOUT_COUNT) // 如果RTS为低电平,则继续发送数据 delay_ms(1); if(time_count >= BLUETOOTH_CH9141_TIMEOUT_COUNT) return len; // 模块忙,如果允许当前程序使用while等待 则可以使用后面注释的while等待语句替换本if语句 uart_putbuff(BLUETOOTH_CH9141_INDEX, buff, (uint16)len); // 发送最后的数据 return 0; }将该代码改为发送字符的函数
时间: 2024-02-10 21:29:45 浏览: 65
以下是将代码修改为发送字符的函数的示例:
```cpp
uint32 bluetooth_ch9141_send_char(uint8 ch)
{
uint16 time_count = 0;
time_count = 0;
while(BLUETOOTH_CH9141_RTS_PIN && time_count++ < BLUETOOTH_CH9141_TIMEOUT_COUNT) // 如果RTS为低电平,则继续发送数据
delay_ms(1);
if(time_count >= BLUETOOTH_CH9141_TIMEOUT_COUNT)
return 1; // 模块忙,如果允许当前程序使用while等待 则可以使用后面注释的while等待语句替换本if语句
uart_putchar(BLUETOOTH_CH9141_INDEX, ch); // 发送字符
return 0;
}
```
注意,我假设你已经有了一个名为`uart_putchar`的函数用于发送单个字符。如果没有,请根据你的环境实现该函数。
阅读全文