主题中讨论的其他器件:HALCOGEN
尊敬的先生:
SCI 模块问题:
设置波特率使用以下子函数:
/**@fn void sciSetBudrate (sciBASE-t * sci、uint32波特)
*@简要更改运行时的波特率。
*@param[in] sci - sci 模块基址
*@param[in]波特-以 Hz 为单位的波特率
*
*在运行时更改 SCI 波特率。
*
/* sourceId:SCI_sourceId_003 */
/* DesignId:SCI_DesignId_003 */
/*要求:HL_SR232 */
void sciSetBudrate (sciBASE-t * sci、uint32波特)
{
float64 vclk = 110.000 * 1000000.0;
uint32 f=((sci->GCR1 & 2U)=2U)? 16U:1U;
uint32温度;
float64 temp2;
/*用户代码开始(6)*/
/*用户代码结束*/
/*SAFETYMCUSW 96 S MR:6.1 "无法避免使用 int 和 float 等计算"*/
temp =(f*(baud));
TEMP2 =((vclk)/((float64) temp))-1U;
TEMP2 = floor (temp2 + 0.5);/*取整至最接近的整数*/
SCI->BRS =(uint32)((uint32) temp2 & 0x00FFFFFFU);
/*用户代码开始(7)*/
/*用户代码结束*/
}
我连接 PC COM1端口(物理端口,而不是 USB <->UART)
TX 可以执行115200/57600 ~ 9600/4800/2400/1200波特率
RX 可以执行115200/57600 ~ 9600、但4800/2400/1200波特率输出功能