
串口DMA + 空闲中断收发 ?
F103RCT6芯片对AFIO->MAPR寄存器写入时出错
使用STM32捕获PWM时同时捕获2个通道时会出现捕获的频率值不准确的问题
WS2812B怎么显示任意字符 / 图案?
STM32F103RCT6 定位孔 镂空,会影响使用吗?
HAL库1.8.4在做破坏性测试的时候出现g_state永远为busy的情况导致串口通信发送卡死
L9663驱动开发
用rt_thread 环境编写,DAP-LINK 下载烧录,每一次空芯片下载之后就无法二次下载。求解
stm32cubemx F103芯片tim3 encoder模式pc6和pc7引脚,自动生成代码缺少gpio映射。
stm32的同一个定时器,不同的通道,可以不同时的输出pwm波形吗
从实际应用 来说,一般可以通过判断发送标志位,当发送完成后,即可进行下次的发送。可以使用中断的方式。
情况是这样的,CAN总线上只有我配置的一主一从,主机轮询从机的各种状态,主机给从机发送指令的间隔大约是多少合适,两个芯片都用的STM32F103C8T6
嗯,我现在就是采用20毫秒的间隔发送一次数据
举个例子,如果发送的信息由于某些原因没有得到接收发的应答,那么按照协议就会重发(期间还可能有一些其他帧数据在总线上,具体可以用CAN 盒子监控),这时候的时间就是不固定的。如果出错到一定次数,该节点还会退出。 所以涉及到的因素很多,没有固定的公式计算。can 协议只保证发送的成功和准确,速度不是追求的重点。所以实际测试最好,留有一定的余量。
嗯,感谢您的耐心解答,经过我的测试,不能使用硬件重发功能,否则如果连续三次发送失败,就会影响整个网络上的数据传输,这就好比三个邮箱都占满了,因为有硬件重发机制的存在,他们就会在经过仲裁后,重新发送,可是如果发送失败就会一直发送,所以这样就导致了堵塞,现在我是把硬件重发机制去掉了,这样每次发送都是发送一次,不管是否成功,再加上20毫秒左右的延时时间,保证发送邮箱为空,可以再次被调用,这样就可以了
一般不用硬件重发功能,这样会导致网络出问题的,比如波特率设置错误后,会导致总线错误。