- 打卡等级:以坛为家II
- 打卡总天数:499
- 最近打卡:2025-05-07 08:08:50
荣誉版主
- 积分
- 3500
|
本帖最后由 浦江一水 于 2024-5-26 12:41 编辑
基于STC32G12K128实验箱V9.62_实验之USART2串口通信
本实验在《基于STC32G12K128实验箱V9.62_实验之数码管显示字符串》基础上,参照官方Demo实验11稍作改编,增加了USART2与PC机通讯实验。
有几点说明和实验体会:
1,实验是有关USART2串口通讯的,根据实验箱硬件的实际条件,要学会如何将引脚切换到P4.6和P4.7引脚;
2,实验箱的USART2是一个RS232电平的串口,与PC机串口通信,要理解和清楚通讯线的硬件连接。
实验箱的USART2是DB9(母口),台式PC机的COM口是DB9(公口),硬件连接线需要一根直通线,即一头是公,另一头是母,2对2、3对3、5对5。(通常两头相同的三线制线是2与3交叉的。)
现在笔记本都没有DB9接口,需要用USB转RS232的通讯线。
3,实验内容之一是数码管显示模拟时钟走时,体现定时器中断动态扫描显示编程。
4,实验内容之二是PC机与实验箱通信,返回来自PC机发送的字符串。
5,在本实验中,学习使用库函数的方法,对官方库函数库消化理解整理积累,作为往后实战备用。
6,利用USART2与PC机通信功能,将需要显示的信息,从串2输出,在PC机上显示,大大方便以后用实验箱在没有配显示屏的情况下,做各种实验。
主程序如下:
//********************************************************************************
// 名称: 实验8位数码管动态扫描显示 + USART2与PC机通信
// 基于: STC32G12K128 V9.62 实验箱
// 实验: STC32G工程创建/STC-USB-Link1D仿真器调试/GPIO基本输出控制/定时器x中断...
// 编程: 浦晓明(浦江一水) 2023-12-10
//********************************************************************************
#include "STC32G_SYS.H"
#include "STC32G_UART.H"
#include "LED8D.H"
/************* 本地变量及函数声明 **************/
char S[16]; //显示字符串缓存
unsigned char hour; //时
unsigned char minute; //分
unsigned char second; //秒
/********************** RTC演示函数 ***********************/
void RTC(void)
{
if(++second >= 60)
{ second = 0;
if(++minute >= 60)
{ minute = 0;
if(++hour >= 24) hour = 0;
}
}
sprintf(S,"%02d-%02d-%02d",hour,minute,second); //组织字符串
LED8D_Str(0,S); //送显示段码缓存
}
/******************** 主函数 **************************/
void main(void)
{ u16 i;
SYS_Init(); //系统初始化
UART2_Init(1,1,115200); //IO切换1,模式1,波特率115200
printf("STC32G UART2 Test Printf(x)...\r\n"); //测试printf()函数 经UART2发送一个字符串
UART2_SendStr("UART2_SendStr(x)...OK!\r\n"); //测试字符串发送函数:UART2_SendStr()...
LED8D_Init(); //8数码管初始化//并启动了定时器0
hour = 11; //时间初始化
minute = 59;
second = 58;
RTC(); //模拟时钟运行...
//循环...
while(1)
{ if(SecOK) //如果1s到达...
{ SecOK = 0;
RTC(); //时钟显示刷新
}
if(RX2_Cnt > 0) //如果USART2有接收信息...
{ for(i=0; i<RX2_Cnt; i++)
UART2_SendChar(RX2_Buf); //返回接收的信息...
RX2_Cnt=0; //接收计数清零....
} //接收到的数据原样返回
}
}
基于STC32G12K128实验箱V9.62_实验之USART2串口通信实验.rar
(44.15 KB, 下载次数: 52)
|
|