完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
|
|
|
|
st官方的例程很多呀
|
|
|
|
官方有相关的例程的,
|
|
|
|
官方HAL_Delay
|
|
|
|
|
|
直接贴代码,基于F103
|
|
|
|
本帖最后由 toofree 于 2018-3-22 10:00 编辑
默认的HAL_Delay()是1ms级延时。 对应的系统时钟初始化中有一条指令,HAL_SYSTICK_Config(HAL_RCC_GetHCLKFreq()/1000); HAL_RCC_GetHCLKFreq()/1000的值越小,频率越高。当HAL_RCC_GetHCLKFreq()/1时,为1Hz;你要分个5KHz,那么就是HAL_RCC_GetHCLKFreq()/200。 在函数中用一条HAL_Delay(1),就相当于200us延时。 |
|
|
|
INT16U g_uwDelayTime_ms = 0;
static INT8U g_ubMultiple_us = 0; static INT16U g_uwMultiple_ms = 0; void Delay(INT16U mTime) { g_uwDelayTime_ms = mTime; while(g_uwDelayTime_ms != 0); } void Delay_Init(INT8U sysclk) { SysTick->CTRL &= 0xFFFFFFFB; // Ñ¡ÔñTickʱÖÓÔ´¡ª¡ªHCLK/8 g_ubMultiple_us = sysclk / 8; g_uwMultiple_ms = (INT16U)sysclk / 8 * 1000; //SysTick->CTRL |= SysTick_CTRL_CLKSOURCE_Msk; // Ñ¡ÔñTickʱÖÓÔ´¡ª¡ªÏµÍ³Ê±ÖÓ //g_ubMultiple_us = sysclk; //g_uwMultiple_ms = (INT16U)sysclk * 1000; } // ΢Ã붨ʱ void Delay_us(INT16U time) { INT32U ulTemp = 0; ulTemp = (INT32U)time * g_ubMultiple_us; SysTick->LOAD = ulTemp - 1; SysTick->VAL = 0; // ¸³Öµ¿ÉÇå³þSysTick_CTRL_COUNTFLAG_Msk λ SysTick->CTRL |= SysTick_CTRL_ENABLE_Msk; // Æô¶¯¼ÆʱÆ÷ do { ulTemp = SysTick->CTRL; } while((ulTemp & SysTick_CTRL_COUNTFLAG_Msk) != SysTick_CTRL_COUNTFLAG_Msk); // µÈµ½¼ÆÊýÍê³É SysTick->CTRL &= ~SysTick_CTRL_ENABLE_Msk; // Í£Ö¹¼ÆʱÆ÷ SysTick->VAL = 0; } // ºÁÃ붨ʱ void Delay_ms(INT16U time) { INT32U ulTemp = 0; ulTemp = (INT32U)time * g_uwMultiple_ms; SysTick->LOAD = ulTemp - 1; SysTick->VAL = 0; // ¸³Öµ¿ÉÇå³þSysTick_CTRL_COUNTFLAG_Msk λ SysTick->CTRL |= SysTick_CTRL_ENABLE_Msk; // Æô¶¯¼ÆʱÆ÷ do { ulTemp = SysTick->CTRL; } while((ulTemp & SysTick_CTRL_COUNTFLAG_Msk) != SysTick_CTRL_COUNTFLAG_Msk); // µÈµ½¼ÆÊýÍê³É SysTick->CTRL &= ~SysTick_CTRL_ENABLE_Msk; // Í£Ö¹¼ÆʱÆ÷ SysTick->VAL = 0; } |
|
|
|
官方HAL库中使用的,你可以参考。
|
|
|
|
|
|
cubeMx生成的代码都有呀..
|
|
|
|
谢谢指教
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1129 浏览 0 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
1075 浏览 2 评论
2175 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
1269 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
1693 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-26 07:37 , Processed in 0.784690 second(s), Total 68, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号