注:本程序已验证可用,但只对本店模块做过适配测试,其他模块我们没法保证一定能用
实物参考链接 直戳跳转
一、资源说明
二、基本参数
参数
引脚说明
三、驱动说明
对应程序:
此处串口通信对应程序:
以51为例
void UartInit(void)
{
TMOD = 0x20; //定时器工作在定时器1的方式2
PCON = 0x00; //不倍频
SCON = 0x50; //串口工作在方式1,并且启动串行接收
TH1 = 0xFD; //设置波特率 9600
TL1 = 0xFD;
//ET1 = 0;
TR1 = 1; //启动定时器1
ES = 1; //开串口中断
EA = 1; //开总中断
}
void UartSend(uint8_t dat)
{
// while (busy);
// busy = 1;
SBUF = dat;
while(TI==0);
TI=0;
}
/*****************发送设置**********************************/
void UartSendString(unsigned char *puf)
{
unsigned char k=0;
while(*(puf+k)!='
void UartInit(void)
{
TMOD = 0x20; //定时器工作在定时器1的方式2
PCON = 0x00; //不倍频
SCON = 0x50; //串口工作在方式1,并且启动串行接收
TH1 = 0xFD; //设置波特率 9600
TL1 = 0xFD;
//ET1 = 0;
TR1 = 1; //启动定时器1
ES = 1; //开串口中断
EA = 1; //开总中断
}
void UartSend(uint8_t dat)
{
// while (busy);
// busy = 1;
SBUF = dat;
while(TI==0);
TI=0;
}
/*****************发送设置**********************************/
void UartSendString(unsigned char *puf)
{
unsigned char k=0;
while(*(puf+k)!='\0')
{
UartSend(*(puf+k));
k++;
}
}
void Clear_Usart_Receive(void)
{
unsigned char i;
for(i=0;i<50;i++)
{
Usart_Receive[i]=0;
}
}
/*************接收数据***************************************/
void UARTInterrupt(void)interrupt 4
{
if(RI)
{
RI=0;
Usart_Receive[0]=SBUF;
}
}
')
{
UartSend(*(puf+k));
k++;
}
}
void Clear_Usart_Receive(void)
{
unsigned char i;
for(i=0;i<50;i++)
{
Usart_Receive[i]=0;
}
}
/*************接收数据***************************************/
void UARTInterrupt(void)interrupt 4
{
if(RI)
{
RI=0;
Usart_Receive[0]=SBUF;
}
}
四、部分代码说明
接线引脚定义
需要自定义引脚可在此处更改,STM32要自定义引脚的话也要注意引脚时钟使能的更改
1.1、STC89C52RC+JDY31模块
//JDY31模块引脚定义
(TX) ---------------P3.0
(RX)----------------P3.1
//LED引脚定义
sbit LED=P1^0;
1.2、STM32F103C8T6+JDY31模块
//JDY31模块引脚定义
UART:
#define DEBUG_USART2_TX_GPIO_PORT GPIOA
#define DEBUG_USART2_TX_GPIO_PIN GPIO_Pin_2
#define DEBUG_USART2_RX_GPIO_PORT GPIOA
#define DEBUG_USART2_RX_GPIO_PIN GPIO_Pin_3
//LED引脚定义
// 打开串口GPIO的时钟
GPIO_InitTypeDef GPIO_Led_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
// 将USART Tx的GPIO配置为推挽复用模式
GPIO_Led_InitStructure.GPIO_Pin = GPIO_Pin_0;到SCL时钟线的GPIO */
五、基础知识学习
STC89C52RC程序下载 直戳跳转
STM32F103C8T6程序下载
1、串口下载 直戳跳转
2、ST-LINK下载 直戳跳转
3、J-LINK下载 直戳跳转
4、DAP-LINK下载 直戳跳转
OLED0.96程序说明 直戳跳转
串口助手下载与使用
1、安信可调试助手使用 直戳跳转
2、 sscom33串口调试助手使用 直戳跳转
3、STC-ISP串口调试助手使用 直戳跳转
六、视频效果展示与程序资料获取
实物参考链接 直戳跳转
七、注意事项
1、VCC GND请勿接反,接反易烧
2、OLED显示异常时,排除接线接触不良
八、接线说明
可参考程序main.c最上面接线说明