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

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

zhjb1

 

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

STM32F401用MXCUBE生成time工程问题

STM32CubeMX
xmshao xmshao 回答时间: 2025-3-19 09:37

这个需求的话,不用搞那么复杂,用不到主从触发。 如果被测信号的周期不长于测试用的定时器的溢出周期时, 在需要做测量时就开启某个通道的捕获功能,可以基于上沿或下沿捕获,连续捕获N个值, 这样就可以得到N-1个结果,做下平均即可。作完测量后关闭捕获。 至于捕获值的获取你可以使用查询,也可以使用中断,或DMA。 这里默认定时器使用单向计数模式。

赞0
7 回答

当有一外部信号(上升和下降沿触发),用timer计测脉冲间隔的问题,要给采用那种触发:ITRx、Gate、还是其它那种方式最好,响应最快,谢谢

STM32F4
zhjb1 zhjb1 回答时间: 2025-3-20 17:12

这个问题暂时解决了。首先感谢 xmshao的一篇推荐文章,翻阅后对从CUBEMX开始设置项目,其中tim的选设有了一定了解,有东西大家分享吧。 按照文章中的选设(文中是TIM4,本人采用的是STM32F401RCxx只有T1-T3有外部触发其余的tim只能内部触发)设定Timer2为外部触发产生事件。T1,T3一已在系统中设定为PWM,当然曾考虑到T2具有32为分辨率作为外部触发计数具有独到优势。 具体设置可以参考 xmshao 给的文档此处不再重复,仅仅将我在试验中的测试结果做一描述。先声明,绝对不是最佳方案,仅仅是实现了需要的功能,如此而已。当让后边还会描述进一步想做何用,急需的实验抽空再做了。 本实验希望能对外部信号进行中断计数,“单位”时间数脉冲数,能读一次即可多测更好! CubeMX设置完成后并不能立即实现需要做一些代码设置。 我的MCU是STM32F401RCxx,主频最高支持84MHz最后设在了外部25MHz晶振,PLL设置到Core Clock为84MHz,许多计算按照文章带入实际上不准确,误差非常大——不是一倍几倍,只能采用测试的方法——当然与找不到这款芯片的用户手册有关——官网和许多技术网站只能搜到几乎一样的技术手册。想搜相关的F4系列的用户手册也无果,这是诟病。 首先设置main前部的time2的初始代码: HAL_TIM_IC_Start_IT(&htim2,TIM_CHANNEL_1); HAL_TIM_IC_Start_IT(&htim2,TIM_CHANNEL_2); __HAL_TIM_ENABLE_IT(&htim2,TIM_IT_UPDATE); __HAL_TIM_CLEAR_FLAG(&htim2,TIM_FLAG_TRIGGER); 后两句也可以先不写。 接着设置tim.c中TIM2中的一句进行测式: sSlaveConfig.InputTrigger =TIM_TS_TI2FP2; 这一句实在CubeMX设置完成后自动生成的,我用了两个Tim4,Tim11想用他们来产生TI2FP2信号,结果无果,既然这种方式不行,那么就采用自己触发采样计数,遍历TIM_TS_TI2FP2,结果搜到了触发定义变量(有用的2个): TIM_TRGO_OC1; TIM_TRGO_UPDATE; 经过测试两个都能触发tim2进行计数,相对而言前一个函数误差最小。于是更改stm32f4xx_it.c函数中关于time2的中断向量函数,原始如下: /** @brief This function handles TIM2 global interrupt. / void TIM2_IRQHandler(void) { / USER CODE BEGIN TIM2_IRQn 0 */ / USER CODE END TIM2_IRQn 0 / HAL_TIM_IRQHandler(&htim2); / USER CODE BEGIN TIM2_IRQn 1 / / USER CODE END TIM2_IRQn 1 / } 只需要在用户代码中加入一段中断处理函数即可,本思路是:第一个出发沿开始计数,之到第二个触发沿终止计数,为了省事和技术准确(不因中断二占用计数时间),在中断函数中永远累加计数,在中断处理中完成求此时间间隔的计数值,结果效果比预想的好,加入的代码如下: / USER CODE END TIM2_IRQn 1 / if(__HAL_TIM_GET_FLAG(&htim2,TIM_FLAG_UPDATE)!=RESET){ //__HAL_TIM_CLEAR_IT(&htim2,TIM_IT_UPDATE); __HAL_TIM_CLEAR_FLAG(&htim2,TIM_FLAG_TRIGGER); t2Cnt++;if(t2Cnt>1){t2Cnt=0;kk=ttc;ttc=0;} } ttc++; / USER CODE END TIM2_IRQn 0 / HAL_TIM_IRQHandler(&htim2); / USER CODE BEGIN TIM2_IRQn 1 / 其中ttc是tim2每产生一次沿中断,ttc累加一次; 代码首次运行t2Cnt=0;中断处理函数是首次沿中断,将ttc清0,t2Cnt++;(此时为1) 带第二次沿中断,t2Cnt+1>1, 将ttc的值赋予kk,同时ttc清0;。kk是送LCD显示和计算的计数值。 经过测试,在测试99.99KHz以及1KHz的赔率下的误差都小于1/1000。 美中不足的是,多次循环采样中LCD现实的数据会有个位数的小跳变。当然与偷懒有关——kk开作为按键的测试值显示在LCD上。 证明此方案技术可用。 再次感谢 [xmshao](https://shequ.stmicroelectronics.cn/space-uid-1105.html !

赞0
8 回答

SysTick问题

未设置标签
Glenxu Glenxu 回答时间: 2020-4-28 13:05

04.void SysTick_Handler(void) 05.{ 06.  /* USER CODE BEGIN SysTick_IRQn 0 */ 07. 08.  /* USER CODE END SysTick_IRQn 0 */ 09.  HAL_IncTick(); 10.  /* USER CODE BEGIN SysTick_IRQn 1 */ 11. 12.  /* USER CODE END SysTick_IRQn 1 */ 13.} 在这里面定义了一个全局变量++,也做过外部函数跳转(例如闪个LED),但都不执行!

赞0
5 回答

STM32Gxxx系列的有像 STM32CubeMX开发工具吗?

开发工具 STM32CubeMX
butterflyspring butterflyspring 回答时间: 2019-10-31 16:09

通常规律上看,这是新产品一定是新版本才会支持的,保持更新就好了

赞0
7 回答

STM32CubeMX获得ADC的采样数值问题

STM32CubeMX
zhjb1 zhjb1 回答时间: 2025-3-18 12:47

这个问题已解决。 将采样后加个延时再读取数据就一切正常了。 按照采样通道数量(本实例5个,4个外置,1个内部芯温)采用while(tt--)的方式,tt为130正好,150可靠一些。

赞0
9 回答

STM32Fxxxx芯片的焊接问题

未设置标签
zhjb1 zhjb1 回答时间: 2018-7-17 15:10

谢谢各位网友的关注和回答!已经找到解决问题的方法了。兆易创新也生产兼容STM32的芯片,查了资料几乎完全兼容。正准备尝试使用兆易的GD32Fxxx的芯片。查资料,有GD32F1xx、GD32F2xx、GD32F3xx、GD32F4xx的,不考虑M7或以上的应该够用了,PCB可能也不用改,具体在仔细看看他们的内部区别,如果没有,直接用现成的PCB。谢谢各位!

赞0
3 回答

原装全新和散新STM32F1xx芯片问题

STM32F1
黑夜之狼 黑夜之狼 回答时间: 2018-7-10 09:00

学生时代在X宝买过芯片元器件,出来干活之后从来不在X宝买了,样片JLC或者一级代理

赞0
9 回答

深圳与中关村

未设置标签
zhjb1 zhjb1 回答时间: 2018-6-25 15:24

其实STM就是不开放申请芯片这一项,不然什么问题都没有了。像其他的Freescale、LPC、Aduc、Silincon 、Microchip、Ti等等都申请过。真心希望STM也能网开一面,学生可是未来的市场主人哦。

赞0
9 回答

STM32F103ZET6_PD_5引脚的问题

STM32F1
七哥 七哥 回答时间: 2018-6-22 12:11

zhjb1 发表于 2018-6-22 11:55 您好!非常感谢您的指导和帮助!已经确定芯片都是坏的。但问题是,我用J-LINK来测试目标芯片居然他也认为 ... 要不,走正规渠道买几片? 能看出你的是不是拆机片吗? 像芯片的问题,这完全不是技术问题,真能把人折腾死

赞0
2 回答

STM32F103ZET6_PD_5引脚的问题

STM32F1
zhjb1 zhjb1 回答时间: 2018-6-18 08:02

feixiang20 发表于 2018-6-18 02:44 是不是芯片问题啊,每块都尝试下看看 真是绝好主意,手头一块就都没有了。谢谢,您可以这样试。

赞0
7 回答

STM32F103_100管脚与144 管脚的FSMC问题

STM32F1
zhjb1 zhjb1 回答时间: 2018-5-22 05:22

toofree 发表于 2018-5-21 09:35 这两信号就用NE1和A16之后的,问题不大。 NE1是片选,也就是得在程序中改一下基地址; A16是命令和数据选择 ... 非常感谢,已按照您的方案开始设计了,将来需要改程序中的片选和命令数据控制。

赞0
0 回答

求购STM32F429芯片

STM32F4
8 回答

收到社区的礼物!

未设置标签
wofei1314 wofei1314 回答时间: 2018-3-11 12:58

666

赞0
11 回答

年前的好礼,谢谢STMyxx社区!

未设置标签
长乐未央0310 长乐未央0310 回答时间: 2018-2-7 09:10

看起来不错哟

赞0
15 回答

2018新年惊喜

未设置标签
党国特派员 党国特派员 回答时间: 2018-1-25 09:45

你晒了我就不晒了……。

赞0
7 回答

STM32F103RBT6自设板子的讨论

STM32F1
zhjb1 zhjb1 回答时间: 2018-1-27 08:50

epochal 发表于 2018-1-12 22:22 怎么索取? 您还想要吗?板子的裸照和测试性能已发到网上,优缺点也以自己做了总结。需要的话,要出快递费的。

赞0
2 回答

[STM32L4+实验]六、GPIO控制LED闪烁和驱显黑白LCD

STM32L4 STM32L4+
zhjb1 zhjb1 回答时间: 2018-1-4 21:31

哈佛祖安智 发表于 2018-1-4 17:35 屏幕不错 谢谢夸赞,这款是老掉牙的的黑白显示屏,102X65点阵,为了省电,将他降为一个LED的压降——大约2.2V工作,所以背光也较暗。但一共只有1mA多点。

赞0
7 回答

在测试STM32L4R5中出现的问题

STM32L4
zhjb1 zhjb1 回答时间: 2018-10-23 15:59

简单的元清 发表于 2018-10-11 17:41 不知道楼主解决问题没?我之前也出现了同样的问题,后面我把BOOT0 拉高后。然后把Flash 全部插除。就可以了 ... 长出差,刚回来,我试试,谢谢

赞0
11 回答

STM32Cube创建工程时钟问题

未设置标签
zhjb1 zhjb1 回答时间: 2018-2-9 09:04

中山无雪 发表于 2018-2-8 19:10 查一下代码中是否有 __HAL_RCC_GPIOD_CLK_ENABLE();   __HAL_RCC_GPIOA_CLK_ENABLE(); 谢谢

赞0
2 回答

[STM32L4+实测]五、用官方程序测各种工作模式功耗

STM32L4 STM32L4+
zhjb1 zhjb1 回答时间: 2018-6-1 14:56

本帖最后由 zhjb1 于 2018-6-1 14:57 编辑 不是电源,是在芯片上方有一个ID短接帽,拔掉串接电流表——测试的仅仅是芯片的电流。看照片514两根白线连接的地方。

赞0
123下一页
zhjb1 zhjb1


阅读作者更多的帖子

所在话题

参与活动

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

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

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

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

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

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

    线下 2020-10-16