gd32vf103的systick是一个64位的定时器,可以实现系统计时、比较中断、软件中断等功能。它上电后自动开始自增计数,所以我们不需要做什么配置就可以获取到系统运行的时间。 本文介绍如何使用systick实现毫秒的延时函数delay_1ms(int millis)。 参考bumblebee内核数据手册,可以找到systick的介绍,手册中它叫计时器单元(TIM...
GD32F103延时不准,串口打印乱码 使用官方例程时发现delay_1ms()这个函数的延时很不准确,并且官方例程的串口打印是乱码的。 在网上查找资料,最终成功解决问题,步骤如下: 首先确定自己板子用的是外部晶振还是内部晶振,频率是多少,我使用的是外部晶振,4MHz,确定了这个之后找到system_gd32f10x.c这个文件 将__SYS_OSC_...
gd32vf103的systick是一个64位的定时器,可以实现系统计时、比较中断、软件中断等功能。它上电后自动开始自增计数,所以我们不需要做什么配置就可以获取到系统运行的时间。 本文介绍如何使用systick实现毫秒的延时函数delay_1ms(int millis)。 参考bumblebee内核数据手册,可以找到systick的介绍,手册中它叫计时器单元(TIM...
当前nop不准 ...可以用示波器量一下时间17volatile static uint32_t delay_count;void system_config(...
voiddelay_1ms(uint32_tcount){ delay = count *1000;while(0U!= delay) { } } 增加`delay_1us()`函数: voiddelay_1us(uint32_tcount){ delay = count;while(0U!= delay) { } } 完整代码如下: systick.h:/*! \file systick.h \brief the header file of systick ...
delay_1ms(1000); } } 如代码清单 GPIO 例程主函数,该主函数主要分成四部分,systick 配置、RCU 时钟配置、GPIO 配置和 while(1)主循环,其中 systick 配置用于产生延时,while(1)主循环通过控制相应 GPIO 的 BC 和 BOP 寄存器来控制 GPIO 的输出电平。
CHANNEL, ENABLE);/* clear the ADC flag */ adc_interrupt_flag_clear(ADC0, ADC_INT_FLAG_EOC); adc_interrupt_flag_clear(ADC0, ADC_INT_FLAG_EOIC); /* enable ADC interrupt */adc_interrupt_enable(ADC0, ADC_INT_EOIC);//使能注入通道的中断/* enable ADC */adc_enable(ADC0);delay_1ms(...
PUBLIC __delay_loops PUBLIC __delay_loops_0 SECTION `.text`:CODE:NOROOT(4)THUMB __...
delay_1ms(1);//延迟 等待稳定 /* ADC calibration and reset calibration */ adc_calibration_enable(ADC0);//使能 ADC 校准 (3)读取 ADC 值 在上面的步骤完成后, ADC 就算准备好了。所谓的查询法就是不断地进行通道切换 unsigned short adc0_transfer(unsigned char adc_channel) ...
我们看到红色框线内已经提示找到芯片ID了,这时候在输入:h,并回车,将看到以下界面:红色方框内的PC值就代表了程序当前执行的位置,我们可以通过查看程序工程中的map文件,就可以找到程序正在运行哪个函数了,如小编这里的PC值是0x08000AAA,map文件中符合这个地址的是delay_1ms函数。是不是特别简单?由聚沃科技原创...