标题:
stm32c8t6单片机和LD3320通信程序
[打印本页]
作者:
xzg214
时间:
2023-7-29 12:07
标题:
stm32c8t6单片机和LD3320通信程序
#include "stm32f10x.h" // Device header
#include "Delay.h"
#include "OLED.h"
#include "Serial.h"
#include "string.h"
#include "PWM.h"
#include "Servo.h"
/*******************************************************************************************
此代码版本为2023/4/14更新,很多人疑惑有一些DHT11模块或者AD模块,因为此代码之前做过移植,为了大家理解
更新之后删除了无用模块,并增加代码注释讲解
**C8T6 **LD3320(电源接5V,GND接地)
PA9(TX)——————RX
PA10(RX)—————TX
PA0(LED):LED长管脚接PA0,短脚接地
PA1(舵机):舵机可接可不接,不影响控制灯,有些同学只想控制灯也没关系,不用管舵机的代码。
*********************************************************************************************/
int main(void)
{
OLED_Init(); //OLED初始化
Serial_Init (); //串口初始化,直接借用了B站up主江协科技的串口收发文本数据包的串口代码,初始化串口一
PWM_Init (); //PWM初始化,一样借用了江协科技的代码。用PWM波控制便于自动改变灯的亮度
OLED_ShowString(1, 1, "TxPacket"); //发送的数据包,若是正确接收到LD3320传递来的数据包,会在第二行发送对应的OK数据包
OLED_ShowString(3, 1, "RxPacket");//接收到的数据包,在第4行会显示从LD3320传递来的数据包
while(1)
{
if(Serial_RxFlag==1) //串口接收到数据包的标志位,若是收到数据包,会置1
{
OLED_ShowString(4, 1, " ");
OLED_ShowString(4, 1, Serial_RxPacket);//Serial_RxPacket是32接收到的数据包,也就是LD3320传递来的数据包
if(strcmp(Serial_RxPacket,"LED_ON")==0)//比较接收到的字符串是否和对应指令的字符串相等。(需要增加string头文件)
{
PWM_SetCompare1(100);//占空比百分之一百,完全点亮LED,此函数是将LED长脚接在A0口,高电平控制灯的亮度
Serial_SendString("LED_ON_OK\r\n");//串口发送LED_ON_OK,
OLED_ShowString(2, 1, "LED_ON_OK");//并在第二行显示
}
else if(strcmp(Serial_RxPacket,"LED_LOW")==0)
{
PWM_SetCompare1(20);
Serial_SendString("LED_LOW_OK\r\n");
OLED_ShowString(2, 1, "LED_LOW_OK");
}
else if(strcmp(Serial_RxPacket,"LED_OFF")==0)
{
PWM_SetCompare1(0);
Serial_SendString("LED_OFF_OK\r\n");
OLED_ShowString(2, 1, "LED_OFF_OK");
}
else if(strcmp(Serial_RxPacket,"Windows_ON")==0)
{
Servo_SetAngle(180);
Serial_SendString("Windows_ON_OK\r\n");
}
else if(strcmp(Serial_RxPacket,"Windows_OFF")==0)
{
Servo_SetAngle(0);
Serial_SendString("Windows_OFF_OK\r\n");
}
Serial_RxFlag =0;//将标志位清零,不清零就接收不到下一个数据包了
}
}
}
复制代码
原理图:无
仿真:无
Keil代码:
32语音控制代码.7z
(182.74 KB, 下载次数: 14)
2023-7-29 17:51 上传
点击文件名下载附件
下载积分: 黑币 -5
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1