1intmain (void){//主程序2u32 ID[3];3delay_ms(500);//上电时等待其他器件就绪4RCC_Configuration();//系统时钟初始化5KEY_Init();//KEY67USART1_Init(115200);//串口初始化(参数是波特率)89printf("STM32F103");10ID[0] = *(__IO u32 *)(0X1FFFF7E8);//读出3个32位ID 高字节11ID[1] ...
u8 TPAD_Init(u8 psc) { u16 buf[10]; u16 temp; u8 j,i; TIM2_CH1_Cap_Init(TPAD_ARR_MAX_VAL,psc-1);//设置分频系数 for(i=0;i<10;i++)//连续读取10次 { buf[i]=TPAD_Get_Val(); delay_ms(10); } //排序 qsort(buf, 10, sizeof(buf[0]), cmp); temp=0; for(i=2;i...
(4); //电平保持时间 IIC_SDA_OUT=1; //数据线拉高 } /* 函数功能:获取应答信号返 回值:1表示失败,0表示成功 */ u8 IIC_GetACK(void) { u8 cnt=0; IIC_SDA_INPUTMODE();//初始化SDA为输入模式 IIC_SDA_OUT=1; //数据线上拉 DelayUs(2); //电平保持时间 IIC_SCL=0; //时钟线拉低,...
ADC_SoftwareStartConvCmd(ADC1, ENABLE);// 使能指定的ADC1的软件转换启动功能while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC ));// 等待转换结束temp_val+=ADC_GetConversionValue(ADC1); delay_ms(5); }returntemp_val/times; } 六、实战项目 用ADC1的通道1采集某电阻两端电压(由于普中核心板没有可供...
delay_ms(100); } dc_motor_init(); pwm_init(100-1,800-1);//初始时,PWM占空比为0 pwm_set_duty(0); dc_motor_dir_ctrl(0); sys_open_show();//系统初始界面显示 while(1) { sys_data_get();//系统数据获取 sys_data_show();//系统数据显示 ...
delay_ms(5); } return temp_val/10; } 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. //得到通道ch的转换平均值。取times次然后求平均。 u16 T_Get_Adc_Average(u8 ch,u8 times) { u32 temp_val=0; u8 t; for(t=0;t<times;t++) ...
中使用到了延时及时间戳功能,要求需要提供delay_ms函数实现毫秒级延时,提供get_ms获取毫秒级的时间戳,它们的接口格式也在"inv_mpu.c"文件中给出,见代码清单 442。 代码 4410 定时服务接口(inv_mpu.c文件) 1 /*2 * _ms(unsigned long num_ms) 3 * _ms(unsigned long *count) 4 */...
/*从MS5803的PROM中读取校准数据*/ void GetCalibrationData(uint8_t deviceAddress,uint16_t *caliPara,WriteCommandToMS5803Type WriteCommandToMS5803,ReadBytesFromMS5803Type ReadBytesFromMS5803) { /*C1压力灵敏度*/ caliPara[0]=ReadPromFromMS5803(deviceAddress,COMMAND_PROM_READ_C1,WriteCommandToMS580...
为115200LED_Init();//初始化LEDAdc_Init();//内部温度传感器ADC初始化while(1){temp=Get_Temprate();//得到温度值if(temp<0){temp=-temp;printf("-");//显示负号}elseprintf(" ");//无符号printf("%d.%d",temp/100,temp%100);//显示温度printf("\r\n\r\n");LED0=!LED0;delay_ms(250);...
智能井盖是一种通过物联网技术实现对井盖状态监测和管理的设备。当前介绍基于STM32微控制器,BC26 NBIOT模组以及华为云IOT平台设计一款智能井盖系统。该系统通过光线传感器、霍尔传感器、温湿度传感器等设备实现井盖状态的实时监测,通过NBIOT网络将数据上传到华为云IOT平台,再通过云平台下发控制指令实现远程管理。 应用场景...