.h
#ifndef __UART4_H__
#define __UART4_H__
#include "stm32mp1xx_gpio.h"
#include "stm32mp1xx_rcc.h"
#include "stm32mp1xx_uart.h"
void uart4_config();
void putchar(char dat);
char getchar();
void puts(char *s);
void gets(char *s);
void led_init();
void LED1_CTRL(int flag);
void LED2_CTRL(int flag);
void LED3_CTRL(int flag);
int Strcmp(const char *dest,const char *src);
#endif
src/源文件
#include "uart4.h"
//手动封装一个延时函数
void delay(int ms)
{
int i,j;
for(i=0;i<ms;i++)
{
for(j=0;j<2000;j++)
{
}
}
}
int main()
{
//uart4的初始化
uart4_config();
led_init();
//存储单个字符的容器
//char a;
//存储字符串的容器
char buf[128];
while(1)
{
//串口发送指令,使得LED灯/风扇工作
gets(buf);
if(Strcmp(buf,"LED1_ON") == 0)
{
LED1_CTRL(1);
}
else if(Strcmp(buf,"LED1_OFF") == 0)
{
LED1_CTRL(0);
}
else if(Strcmp(buf,"LED2_ON") == 0)
{
LED2_CTRL(1);
}
else if(Strcmp(buf,"LED2_OFF") == 0)
{
LED2_CTRL(0);
}
else if(Strcmp(buf,"LED3_ON") == 0)
{
LED3_CTRL(1);
}
else if(Strcmp(buf,"LED3_OFF") == 0)
{
LED3_CTRL(0);
}
else if(Strcmp(buf,"CH1_ON") == 0)
{
CH1_CTRL(1);
}
else if(Strcmp(buf,"CH1_OFF") == 0)
{
CH1_CTRL(0);
}
puts(buf);
}
return 0;
}
main。c
#include "uart4.h"
//手动封装一个延时函数
void delay(int ms)
{
int i,j;
for(i=0;i<ms;i++)
{
for(j=0;j<2000;j++)
{
}
}
}
int main()
{
//uart4的初始化
uart4_config();
led_init();
//存储单个字符的容器
//char a;
//存储字符串的容器
char buf[128];
while(1)
{
/*
a = getchar(); //接收一个字符
putchar(a+1); //发送一个字符,eg:发送a,输出b
putchar('\r');
putchar('\n');
*/
/*
gets(buf);//接收字符串
puts(buf);//发送字符串
*/
/*串口发送指令,使得LED灯/风扇工作*/
gets(buf);
if(Strcmp(buf,"LED1_ON") == 0)
{
LED1_CTRL(1);
}
else if(Strcmp(buf,"LED1_OFF") == 0)
{
LED1_CTRL(0);
}
else if(Strcmp(buf,"LED2_ON") == 0)
{
LED2_CTRL(1);
}
else if(Strcmp(buf,"LED2_OFF") == 0)
{
LED2_CTRL(0);
}
else if(Strcmp(buf,"LED3_ON") == 0)
{
LED3_CTRL(1);
}
else if(Strcmp(buf,"LED3_OFF") == 0)
{
LED3_CTRL(0);
}
else if(Strcmp(buf,"CH1_ON") == 0)
{
CH1_CTRL(1);
}
else if(Strcmp(buf,"CH1_OFF") == 0)
{
CH1_CTRL(0);
}
puts(buf);
}
return 0;
}