|
分享一个我以前在原子的论坛发的贴: 在学习和使用STM32F103系列MCU中,研究了一下CM3手册,发现调试组件中有对CPU时钟进行计数的功能(CYCCNT),如下图: 因而可以利用它进行延时。代码如下: #define DWT_CR *(volatile u32 *)0xE0001000 #define DWT_CYCCNT *(volatile u32 *)0xE0001004 #define DEM_CR *(volatile u32 *)0xE000EDFC #define DBGMCU_CR *(volatile u32 *)0xE0042004 #define DEM_CR_TRCENA (1 |
STM32
超强工具——STM32CubeMX 你会用吗?
集结出发! STM32全国研讨会系列之一:ST智能门铃中国首秀
关于STM32启动文件的几个小问题
【银杏科技ARM+FPGA双核心应用】STM32H7系列35——USB_VCP_FS
【银杏科技ARM+FPGA双核心应用】STM32H7系列28——USB_HID
粉丝分享 | 图说CRC原理应用及STM32硬件CRC外设
STM32L151进入低功耗,并由RTC唤醒的故事
[转]stm32控制NFC模块(PN532)源码(P2P,模拟卡,读写卡等
STM32G070RB+LVGL移植
微信公众号
手机版
RE:【MCU实战经验】STM32F103不占用定时器(包括SysTick)实现精确延时
回复:【MCU实战经验】STM32F103不占用定时器(包括SysTick)实现精确延时
RE:【MCU实战经验】STM32F103不占用定时器(包括SysTick)实现精确延时
精确到ms,也可以用来产生1s的间隔。
#include "stm32f10x.h"
#include "usart1.h"
#include "DWT_Delay.h"
/*
* 函数名:main
* 描述 :主函数
* 输入 :无
* 输出 :无
*/
int main(void)
{
int i=0;
int j;
/* USART1 config 115200 8-N-1 */
USART1_Config();
DelayInit(SystemCoreClock);
for(j=0;j<20;j++)
{
printf("%d",i);
printf("\r\n");
Delayms(1000);
i=i+1;
}