本帖最后由 lilipo 于 2022-8-30 22:45 编辑
#有奖活动# #申请原创# @安小芯
【N32G430开发板试用】+ 软件I2C OLED显示国民技术lg+超声波测距@安小芯
先看视频:
初次接触国民技术的片子,收到快递后,包装很精致,感觉不错,后期调试遇到技术问题也积极得到快速响应,非常棒。
本次主要涉及软件i2c 12864 OLED显示国民技术**/超声波测距,并且打印串口。调试中遇到了很多低级错误,比如keil版本没有选对,头文件没有添加,定时器时钟没有开启,这些细节决定了成败。
超声波测距程序如下:
int UltrasonicWave_StartMeasure(void)
{
GPIO_Pins_Set(TRIG_PORT,TRIG_PIN); //送>10US的高电平
SysTick_Delay_Us(20); //延时20US
GPIO_Pins_Reset(TRIG_PORT,TRIG_PIN);
while(!GPIO_Input_Pin_Data_Get(ECHO_PORT,ECHO_PIN)); //等待高电平
TIM_On(TIM3); //开启时钟
while(GPIO_Input_Pin_Data_Get(ECHO_PORT,ECHO_PIN)); //等待低电平
TIM_Off(TIM3); //定时器3失能
count=TIM_Base_Count_Get(TIM3);
UltrasonicWave_Distance=count*340/2/1000; //获取高电平期间计数器计数值 //计算距离count us=count/1000000 s
TIM_Base_Count_Set(TIM3,0); //清空计数值
return UltrasonicWave_Distance;
}
|