|
问题: 关于STM32 CAN通信 发送函数 HAL_CAN_AddTxMessage()的最后一个参数填0和定义一个变量取地址的问题,如果直接传0,我实验发现 STM32F103C8T6 会出现卡死的情况,进入了硬件中断,而对于STM32F429IGT6则不会卡死,能够正常运行;如果定义一个uint32_t类型的变量,取变量的地址传参进去,两个片子都能够正常运行,目前搞不懂什么原因,对于直接传0进去,我知道这是不规范的,相当于传入了一个空指针进去,而跳到函数内部发现,HAL_CAN_AddTxMessage()函数还对此指针进行了解引用,这肯定是非法,但是同样的情况对于F429IGT6却能正常运行,这令我非常不解。望请大佬解答! 下面是我自己写的CAN2发送函数:
源码中HAL_CAN_AddTxMessage()函数对pTxMailbox进行了解引用
|
我现在使用STM32F446ZET6芯片,外挂了16m的片外SDRAM。想把程序在SDRAM中运行,一直尝试没有成功,希望得到帮助,是否有相关的例子或参考的文档
MotorControl Workbench 6.4.1 生成 FOC 项目代码后运行死机。
请教STM32F103的DMA空闲接收问题
3.3v单片机能刷写1.8v的spi flash吗?
STM32CubeMX配置STM32F103C8T6 RTC分频器问题
STM32F103RCT6断电以后,ADC会漏电
STM32F405rgt6 I2S DMA输入会造成卡死,这个芯片有BUG
USBX在F407上创建CDC不能正常使用
STM32F103VCT6通过串口1烧录程序问题
F103的IIC支持高速400K频率吗?
微信公众号
手机版
空指针的指向是不确定的,出异常属正常回应,没出异常问题也不代表可以这么用。
具体到你现在的应用,即使没有触发芯片的硬错,但也无法得到发送邮箱的编号。
个人认为不必过于纠结,就像闯红灯被罚正常,偶尔侥幸没被罚不代表合法,更不代表下次不被罚。
好的,感谢大佬解惑