你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

st-img
chrome
st-img
firefox
st-img
safari
st-img
ie8及以上
shequ.stmicroelectronics.cn
  • ST意法半导体官网
  • STM32中文官网
  • ST全球论坛
登录/注册
  • 首页
  • 技术问答
  • 话题
  • 资源
  • 创客秀
  • 视频
  • 标签
  • 积分商城
  • 每日签到
Pure Tiger

Pure Tiger

 

回答数 0 关注数 0
关注 私信
  • 动态99
  • 提问
  • 回答0
  • 创客秀 0
  • 分享 0
  • 关注0
2 回答

使用STM32捕获PWM时同时捕获2个通道时会出现捕获的频率值不准确的问题

STM32F1 Timer/定时器
xmshao xmshao 回答时间: 2025-3-30 08:33

像这种情况,相信你也清楚,各种TIMER及通道的工作都是独立的,基本可以肯定问题是你代码方面的原因。 如果基于捕获中断的话,可能会低优先级的捕获事件因处理高优先级捕获事件被错过了,等待来处理时 已经是另外一次捕获数据了。 注意中断服务程序尽量精炼。 如果被捕获的脉冲很窄的话,可以分别使用中断方式或DMA方式做处理。

赞0
1 回答

使用STM32H7的DFSDM获取注入通道值时的参数问题

STM32H7
回答时间: 2024-5-15 16:44

对于这个函数的使用,我是这样理解的: 调用的目的就是为了获得注入通道转换值,并可以得知相应转换结果来自哪个通道, 具体通道号存放在我们调用该函数时提供的地址里。 函数返回后我们可以通过该地址获取注入转换的通道号。 换言之,第二个参数就是个指向uint32_t数据的变量地址。

赞0
4 回答

使用串口双机通信的问题

STM32F1
Pure Tiger Pure Tiger 回答时间: 2024-5-13 14:11

[md]我是用的是标准库,我也做了发送一个字节的数据后等待发送完成,但这样会出现卡死现象。所以最后我改成所有字节都发送后在等待发送完成。

赞0
0 回答

使用DFSDM对电信号的采集

STM32H7
5 回答

STM32F103串口接收问题

STM32F1 串口 UART
Pure Tiger Pure Tiger 回答时间: 2023-8-31 11:19

波特率没问题的

赞0
3 回答

模拟I2C通信协议的开发问题

STM32F1
xmshao xmshao 回答时间: 2023-8-16 17:23

呵呵 不认为这里有什么铁规矩。 既然选择使用2组GPIO,即使写两套也没啥,代码结构清晰即可。也不至于增加多少代码量。 或许有人包括本人会考虑加些判断语句执行,感觉上是一套了,最终也要看个人最后选择。 如果其他人有更好方案,欢迎分享。

赞0
4 回答

PCF8563(RTC)读取时间有误

STM32F1
USALCD USALCD 回答时间: 2023-7-25 20:10

是持续通电读取吗?8563是双电源吧,电源持续的话那只能是时序问题,使用模拟IIC测试下,是否能读取正常?

赞0
4 回答

stm32f4软件模拟I2C读写EEPROM无器件响应

STM32F4
butterflyspring butterflyspring 回答时间: 2023-5-4 14:52

在确保电路正常的情况(最好也贴出原理图),楼主可以贴上EEPROM的型号以及上电首次发出的波形,这样才好直接分析。

赞0
7 回答

软件模拟I2C读写EEPROM

STM32F1
Pure Tiger Pure Tiger 回答时间: 2023-3-31 11:25

我已经利用最小系统的方式去处理EEPROM的读写了,但就是出现超过 485个字节,就会出现“could not stop cortex-m device!please check the jtag cable”,如果不超过,又可以正常的读写。一直没能够查找到这具体是什么原因造成的。

赞0
3 回答

EEPROM的页写入问题

STM32F1
废鱼 废鱼 回答时间: 2023-3-24 10:46

楼主看一下usaddr这个地址,并没有按照实际的地址进行增加。参考EE页写入方法中页内地址的使用。

赞0
5 回答

模拟I2C读写EEPROM的问题

STM32F1
老牛洋车 老牛洋车 回答时间: 2023-3-22 08:07

用逻辑分析仪抓取一下时序,对照手册检查一下应该可以发现问题。

赞0
4 回答

SPI读写Flash的理解

SPI
butterflyspring butterflyspring 回答时间: 2023-3-6 11:54

从设备有响应时间,这个看规格书,一般纯硬件的都很快。 有些器件需要发命令查询状态,READY后才能读到数据。FLASH的是读写,所以操作频率不应该快与它的相应时间,就可以接着读。

赞0
2 回答

系统定时器和TIM定时器的区别

Timer/定时器
xmshao xmshao 回答时间: 2023-2-27 10:00

这里简单介绍下,供你参考。 系统定时器即systick timer属于ARM 内核的东西,是24位向下计数器,可以计数计时并触发中断。 它是个比较单纯的时基定时器,它的功能相对其他外设TIMER,功能就较为单一,不支持输入捕获、比较输出等复杂功能,也不能触发DMA等。 而其它外设定时器可以大致分三类。第一类:基本定时器。功能类似于系统定时器,往往不支持输入捕获、比较输出功能, 第二类,通用定时器。除了基本定时器功能外,增加了输入捕获、比较输出功能;第三类,高级定时器。它在通用定时器功能基础上 又增加了互补输出,死区插入、刹车管理等功能。整体上讲,通用定时器 或高级定时器的功能要比系统定时器的功能复杂得多。 关于STM32外设TIMER的更多细节,你阅读STM32相关系列的参考手册即可。而关于SYSTICK的细节你需要阅读相关ARM技术手册。

赞1
3 回答

EXTI的使用问题

STM32F1
butterflyspring butterflyspring 回答时间: 2023-2-27 10:56

看了一下手册,因为STM32F1的架构相对来说比较简单,EXTI主要是外部IO口,所以放到IO里面去配置。函数库在GIPIO初始化里面。

赞0
2 回答

STM32的PWM捕获

STM32F1 Timer/定时器
xmshao xmshao 回答时间: 2023-2-22 09:48

STM32F103VE和VD管脚完全一样,启动文件一样,只是片内flash容量有差异。 单从这个TIMER的捕获功能来看,代码是完全可以共用的。 建议你硬件上做些确认,包括管脚的安排,尤其复用上。 如果代码较为庞大的话,建议适当简化下代码,单独就这块做测试。 甚至可以通过查询方式验证捕获事件是否发生。慢慢查找确认,相信你不难找到原因。

赞0
1 回答

PWM输入捕获

STM32F1 Timer/定时器
xmshao xmshao 回答时间: 2023-2-21 09:41

STM32F103VD和VE的定时器内部捕获功能是一样的。你检查下管脚是否是一致的。 如果使用到了中断,检查下中断服务程序跟中断矢量里定义的是否一致 。 确认下启动文件是否跟芯片型号匹配。

赞0
5 回答

如何使用一个定时器捕获两路PWM的频率

STM32F1
Pure Tiger Pure Tiger 回答时间: 2022-12-3 15:15

butterflyspring 发表于 2022-12-2 16:03 也可以用一个定时器的两个通道捕获一路PWM,另外两路通道捕获另一PWM。 一个通道捕获上升沿,另一个通道捕 ... 我在使用一个定时器捕获2路PWM信号的时候,,但我在初始化的过程中使用如下的初始化,可是为什么我只能捕获第2个通道的值,第一个通道的值会被覆盖,即TIM_Channel_1通道这里的被替代,麻烦你指导一下我这个初始化捕获2路是否可以?。(我这里使用了TIM3的通道1和通道2来捕获PWM信号)                 TIM_ICInitStructure.TIM_Channel = TIM_Channel_1;                 TIM_ICInitStructure.TIM_ICPolarity = TIM_ICPolarity_Rising;                 TIM_ICInitStructure.TIM_ICSelection = TIM_ICSelection_DirectTI;                 TIM_ICInitStructure.TIM_ICPrescaler = TIM_ICPSC_DIV1;                 TIM_ICInitStructure.TIM_ICFilter = 0x0;                 TIM_PWMIConfig(TIM3, &TIM_ICInitStructure);                TIM_ICInitStructure.TIM_Channel = TIM_Channel_2;                TIM_PWMIConfig(TIM3, &TIM_ICInitStructure);                 TIM_SelectInputTrigger(TIM3, TIM_TS_TI1FP1);                 TIM_SelectInputTrigger(TIM3, TIM_TS_TI2FP2);                 TIM_SelectSlaveMode(TIM3, TIM_SlaveMode_Reset);                 TIM_SelectMasterSlaveMode(TIM3, TIM_MasterSlaveMode_Enable);                 TIM_Cmd(TIM3, ENABLE);                 TIM_ITConfig(TIM3, TIM_IT_CC1, ENABLE);                 TIM_ITConfig(TIM3, TIM_IT_CC2, ENABLE);                 NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQn;                 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;                 NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;                 NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;                 NVIC_Init(&NVIC_InitStructure);

赞0
3 回答

STM32F103通用定时器中断服务函数

STM32F1
butterflyspring butterflyspring 回答时间: 2022-12-1 10:55

关于PWM的测量,官方有现成的例程呀,可以参考。 另外中断里最好不要用printf 函数,占用时间有点长。 STM32F10x_StdPeriph_Lib_V3.5.0\STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Examples\TIM\PWM_Input

赞0
2 回答

利用通用定时器捕获PWM信号的问题

STM32F1
Pure Tiger Pure Tiger 回答时间: 2022-11-30 21:36

xmshao 发表于 2022-11-30 17:17 看你说用到触发信号和从模式,是指基于PWM输入模式进行测量吧。这个地方的配置,高级定时器和通用定时器是 ... 非常感谢你的解答

赞0
6 回答

ADC采集完数据以后,为什么需要进行中断啊?

STM32F1
Glenxu Glenxu 回答时间: 2022-11-10 13:56

如果不是程序组织需要,可以不采用中断方式,结果更稳定些。

赞0
12下一页
Pure Tiger Pure Tiger


阅读作者更多的帖子

所在话题

参与活动

  • 滴滴押注社区团购,明确“投入不设上限,要做市场第一”

    线下 2020-10-16
  • 滴滴押注社区团购,明确“投入不设上限,要做市场第一”

    网络 2020-10-16
  • 滴滴押注社区团购,明确“投入不设上限,要做市场第一”

    网络 2020-10-16
  • 滴滴押注社区团购,明确“投入不设上限,要做市场第一”

    网络 2020-10-16
  • 滴滴押注社区团购,明确“投入不设上限,要做市场第一”

    线下 2020-10-16
  • 滴滴押注社区团购,明确“投入不设上限,要做市场第一”

    线下 2020-10-16