初级会员

- 积分
- 108
- 金钱
- 108
- 注册时间
- 2020-3-5
- 在线时间
- 15 小时
|
1金钱
这是我写的液位传感器探测水位的代码,出来的结果是LED灯亮和电机工作,蜂鸣器不工作,LCD黑屏,什么都没显示,有没有大佬告诉我哪里出现问题吗?
#include "led.h"
#include "delay.h"
#include "sys.h"
#include "usart.h"
#include "lcd.h"
#include "beep.h"
#include "liquid.h"
#include "motor.h"
int main(void)
{
u8 a=0;
delay_init();
uart_init(9600); //串口初始化为9600
LED_Init(); //初始化与LED连接的硬件接口
BEEP_Init();
LCD_Init();
Liquid_Init();
motor_Init();
while(1)
{
POINT_COLOR=RED;//设置字体为红色
if(a%10==0)
{
if(Liquid_DO_IN == 0)//液位传感器用引脚PC2为低电平
{
delay_ms(10);
if(Liquid_DO_IN == 0)
{
LED1=0;//LED亮
BEEP=0;//蜂鸣器响
motor_fan();//电机反转
LCD_ShowString(60,230,200,16,16,"Beyond Waterline!!!");
}
}
else
{
LED1=1;//LED灭
BEEP=1;//蜂鸣器灭
motor_off();//电机停止
LCD_ShowString(60,250,200,16,16,"Waterline Safe!!!");
}
}
delay_ms(10);
a++;
if(a==20)
{
a=0;
}
}
}
初始化函数
#include "liquid.h"
//初始化liquid
void Liquid_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_DeInit(GPIOC);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; //浮空输入
GPIO_Init(GPIOC, &GPIO_InitStructure);
}
头文件
#ifndef __LIQUID_H
#define __LIQUID_H
#include "sys.h"
#define Liquid_DO_IN PCin(2) // PC2
void Liquid_Init(void); //初始化liquid
#endif
|
|