Other Parts Discussed in Thread: HALCOGEN
主题中讨论的其他器件:HALCOGEN
您好!
我正在使用 HALCOGEN 4.7版生成的"sciSetBAUDRAATE" API 函数来更新 SCI 接口波特率 rate.below HALCOGEN 生成的 API 代码
void sciSetBudrate (sciBASE-t * sci、uint32波特)
{
float64 vclk = 90.000 * 1000000.0;
uint32 f=((sci->GCR1 & 2U)=2U)? 16U:1U;
uint32温度;
float64 temp2;
/*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);
}
我尝试将波特率设置为115200、其中预分频器值将为10。 "floor"函数正在返回正确的预分频器值、但通过配置错误的预分频器分压器、复制到 temp2变量的值是错误的。 可以帮助我解决此问题吗?
谢谢、
Kalyan


