最近在调试STM32结合simulink生成嵌入式代码的强大功能,起初发现uart模块有bug,就是USART_receive直接连接USART_send会一直发送,经过几天的摸索,发现是对simulink生成的代码的原理理解错了,并不是官方的UART代码框图模块有问题。simulink生成的嵌入式代码直接类比PLC的扫描周期就很好理解了,每个扫描周期就是simulink里面的采样周期,也就是下面设置的fixed-step size,这个设置会生成代码在每1ms执行一次
发送按下图的流程执行,不会出现一直发送的情况,前提是usart设置为中断接收和发送,终于解决。