简单平稳过度-回顾2025&说说我心中的ST中文论坛
我最近在用stm32f407做CAN通讯的回环+静默,但是现在显示可以成功发送数据,FIFO接收不到数据,这是什么原因啊
CubeAI如何加载caffe模型
stm32f407的adc采样不稳?
STM32F407VET6 能适配哪些FATFS版本文件
stm32 定时器外部时钟1的TI1FP1及TI2FP2的设置问题
STM32F1定时器中触发信号TRC的来源及选择配置是怎么样的
无刷电机PWM输出配置
CubeMX+STM32F407VGT6+配置lwip的httpd功能,工程编译报错
workbench5.3.1生成代码问题
微信公众号
手机版
我这边查看、测试了三种可用于STM32开发的IDE, KEIL, IAR, stm32cbueIDE,他们对TGFM的定义都在位16,
而手册明明是位21.
结合手册定义和相关代码的写法,经过我的初步判断,应该是IDE这个地方弄错了。
下面是头文件中的定义:
/* Bit definition for Ethernet MMC Transmit Interrupt Mask Register */
#define ETH_MMCTIMR_TGFM_Pos (21U)
#define ETH_MMCTIMR_TGFM_Msk (0x1UL Instance->MMCTIMR, ETH_MMCTIMR_TGFM | ETH_MMCTIMR_TGFMSCM | \
ETH_MMCTIMR_TGFSCM);
这个地方我会再确认后,这里进一步回复你。
以芯片手册为准,keil显示的值是0x0020C000,是三个bit置1,和手册三个有效的bit位一致,正好是bit21bit15bit14置1,keil标注的位置错了,TGFM应该是在bit21