GPIO_SetBits(GPIOC,GPIO_Pin_3); delay_us(100000); GPIO_ResetBits(GPIOC,GPIO_Pin_3); delay_us(100000); aa--; } //清除中断标志 EXTI_ClearITPendingBit(EXTI_Line9); //使灯的状态为灭 GPIO_SetBits(GPIOC,GPIO_Pin_3); } } 3、当然延时函数的实现使用的是系统滴答定时器,函数实现如下: /...
void Delay1us(uint32_t nus){ delaycnt = nus;// TIM_Cmd(TIM6, ENABLE);while(delaycnt>0...
Cloud Studio代码运行 #include"stm32f10x.h"#definePWM_FREQ50// 设置PWM信号频率为50Hz#defineSERVO_MIN_PULSE_WIDTH500// 舵机最小脉宽500us#defineSERVO_MAX_PULSE_WIDTH2500// 舵机最大脉宽2500usvoiddelay_us(uint32_t us){uint32_t count=us*(SystemCoreClock/1000000)/9;while(count--);}voidservo_...
1窗口,并双击“Enter expression”添加一个变量名为“g_fac_us”的表达式,该变量是在delay.c中定义...
Delay_us(1000); IWDG_ReloadCounter(); printf("1000 \r\n"); Delay_us(10000); IWDG_ReloadCounter(); printf("10000 \r\n"); Delay_us(100000); IWDG_ReloadCounter(); printf("100000 \r\n"); Delay_us(200000); IWDG_ReloadCounter(); ...
delay_us(10); IIC_Start(); IIC_Send_Byte(0XA1); //进入接收模式 IIC_Wait_Ack(); temp=IIC_Read_Byte(0); IIC_Stop();//产生一个停止条件 return temp; } //在AT24CXX指定地址写入一个数据 //WriteAddr :写入数据的目的地址 //DataToWrite:要写入的数据 ...
void delay_init() { SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK_Div8); //选择外部时钟 HCLK/8 fac_us=SystemCoreClock/8000000; //为系统时钟的1/8 fac_ms=(u16)fac_us*1000; //非OS下,代表每个ms需要的systick时钟数 } 1. 2. 3.
{ TIM1->SMCR&=0xfff8; //关闭TIM1的输入触发 TIM1->CCER=0; //关闭TIM1的六路输出 Delay_us(40); //延时(加死区) TIM1->CCER=0x0ccc; //打开三路下管,进行能耗制动 while(stalling_count<1); //等待电机停止(TIM3连续溢出10次,即认为电机已停转) TIM1->CCER=0; //关闭TIM1的六路输出...
#include "delay.h" #include "led.h" #include "key.h" #include "usart.h" int main() { // LED初始化 LED_Init(); // 按键初始化 KEY_Init(); //串口初始化 uart_init(115200); // 由于LED接了VCC, 引脚高电平,无法导通电路,所以低电平点亮,即VCC(火线)-->GND(地线/零线) ...
#include "Delay.h" #include "OLED.h" #include "AD.h" uint16_t ADValue; float Voltage; int main(void) { OLED_Init(); AD_Init(); OLED_ShowString(1, 1, "ADValue:"); OLED_ShowString(2, 1, "Volatge:0.00V"); while (1)