数据‘1’ :560us低电平+1680us高电平 */ u8 InfraredRxBuff[5]={0}; //存放红外线接收的数据值,其中[4]表示标志位。=0失败,=1成功 void EXTI9_5_IRQHandler(void) { u32 time,j,i; u8 data=0; EXTI->PR|=1<<0; //清除中断标志位 /*1. 判断引导码*/ time=GetInfraredRxL(); //获取低...
delay_us(4); IIC_SCL=0;//钳住IIC总线,准备发送或接收数据 } //产生IIC停止信号 void IIC_Stop(void) { SDA_OUT();//SDA线输出 IIC_SCL=0; IIC_SDA=0;//STOP:when CLK is high DATA change form low to high delay_us(4); IIC_SCL=1; IIC_SDA=1;//发送IIC总线结束信号 delay_us(4); ...
//delay_us(12); PS2_Cmd(Comd[0]); //开始命令 PS2_Cmd(Comd[1]); //请求数据 for(byte=2;byte<9;byte++) //开始接受数据 { for(ref=0x01;ref<0x0100;ref<<=1) { CLK_H; delay_us(5); CLK_L; delay_us(50); if(DI)Data[byte] = ref|Data[byte]; CLK_H; //delay_us(5);...
3.1 用中断的方式实现delay延时 3.2 用查询方法实现delay延时 3.2.1 延时初始化函数 关于延时因子fac_us和fac_ms,如果是选择HCLK8分频,即168M/8=21M,延时1us/ms要多少SysTick的时钟周期 fas_us = 21;fas_ms=21000 AI检测代码解析 static u8 fac_us=0; //us延时倍...
过这个设置,我们不仅可以实现利用 delay_init 来初始化 SYSTICK,产生 UCOSII 的系统时钟 节拍,还可以让 delay_us 和 delay_ms 函数在 UCOSII 下能够正常使用(实现原理请参考 5.1 节), 这使得我们之前的代码,可以十分方便的移植到 UCOSII 下。虽然 UCOSII 也提供了延时函数: OSTimeDly 和 OSTimeDLyHMSM,但...
void DelayUs(u32 time) { u32 stat; SysTick->LOAD=18.750*time; //重装载寄存器,最大24位,最大值:16777215 SysTick->VAL=0; //清除CNT计数值 SysTick->CTRL|=1<<0; //SysTick 定时器的使能位 do { stat=SysTick->CTRL; //获取状态位 ...
void delay_us(uint32_t nus);//延迟函数 //IO方向设置 #define SDA_IN() {GPIOF->MODER&=~(3<<(13*2));GPIOF->MODER|=0<<13*2;} //PF13输入模式也就是SDA #define SDA_OUT() {GPIOF->MODER&=~(3<<(13*2));GPIOF->MODER|=1<<13*2;} //PF13输出模式也就是SDA ...
*/voidDelayUs(u32time) { u32 k;while(time--){ k=40;while(k--);} } Led.c代码 #include"led.h"/* 函数功能:LED初始化 硬件连接: PF8-- >BEEP --高电平响 PF9-- >LED0 --低电平亮 PF10- >LED1 --低电平亮 */voidLED_Init(void){/*1. 开时钟*/RCC- >AHB1ENR|=1...
1/84000000得到定时器加的1的时间单位us 1/84000得到定时器加的1的时间单位ms 1/84得到定时器加的1的时间单位s =0.0119047619047619 */Time7_InitConfig(84,65000);//定时器7初始化/* 分频84,最终频率1HMZ 计数器CNT+1的时间是1us */while(1){}}...
delay_us(30); //主机拉高 20~40us } //等待 DHT11 的回应 //返回 1:未检测到 DHT11 的存在 //返回 0:存在 u8 DHT11_Check(void) { u8 retry=0; DHT11_IO_IN();//SET INPUT while (DHT11_DQ_IN&&retry<100)//DHT11 会拉低 40~80us { retry++;delay_us(1); };...