STC32G单片机的开发(3)串口的调试

前言

说到入门一款单片机,如果有显示屏调试就更好了,如果没有显示屏使用串口就尤为关键了,所以我们这一节来看一下串口的相关内容。

寄存器说明

P_SW2像STM32一样,STC32的引脚可以复用映射到不同的引脚上哈,此寄存器是配置串口所用IO口的,我们使用P30和P31,因此将S1_S配置位00即可。

SCON:这边我们使用串口调试就使用一下串口的发送作用,我们将串口配置位模式1,即将这个寄存器的SM0和SM1位配置为0和1即可,还用以及B0位TI我们使用到发送发送完记得要软件手动清零

PCON:PCON寄存器可以加倍波特率这边我们用不到就先不配置了哈


AUXR:这边看到老朋友了,我们这边采用定时器1作为串口的波特率发生器,这个寄存器要配置两个位一是确保定时器开启的是1T模式即我们要对B7位进行修改,另一块,要让B0置0作为波特率发生器

TMOD:说到使用定时器1或0,这边我们就免不了使用这个寄存器,当然这里我们不需要什么配置,我们设置为16位自动重装模式为定时器的模式0,这边默认就是16为重装模式,因此我们可以不对其进行配置哈

TH1&&TL1:我们这边使用的是16为自动重装模式,高八位放TH1中,低八位放TL1中

串口波特率的计算

这边我们查阅官方的手册可以看到这个来计算哈。

代码

(1)初始化代码

大家可看一些寄存器的配置来结合思考哈

#include "USART1.h"
#include "stdio.h"

#define Baudrate        115200UL     //定义所需的波特率
#define TM              (65536 -(24000000/Baudrate/4))//计算时间
void USART1_Init(void)
{
	P_SW1 = (P_SW1 & 0x3f) | 0x00; //&逻辑清空低六位,|逻辑配置高二位为P31和P30为串口通信
	SCON = (SCON & 0x3f) | 0x40; //&逻辑清空低六位,|逻辑配置高二位串口工作模式1可变波特8位数据方式
	AUXR|=0x40;          //定时器1时钟1T模式
	AUXR&=0xFE;          //串口1选择定时器1为波特率发生器
	TL1 = TM;
	TH1 = TM>>8;
	TR1 = 1;			//启动定时器1
}


void USART1_SendByte(uint8_t Byte)
{
	SBUF = Byte; 
	while(TI==0);//等待发送标志位置位,才算成功发送
	TI = 0;//清0标志位
}

(2)串口调试实现代码

这边我去查了一下官方的例程使用printf但是却不知怎么的没有效果,于是我自己写了个PrintString的函数来支持printf函数的效果

void PrintString1(uint8_t *str)
{
    for(;*str!= 0;str++)
	{	
		USART1_SendByte(*str); 
	}
}
void main()
{

     char Text[30];
     uint8_t count=0;
     while(1)
     {
         PrintString1("Hello World!\r\n");
         sprintf(Text,"Count:%d\r\n",count);//使用sprintf将float型和int型转换为字符串
         PrintString1(Text);
         count++;
         Delay_ms(1000);
     }
}

运行效果

最后也通过上位机来和串口成功实现通信

用什么错误的地方也请大家指出,一起交流学习哈
  • 10
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: STC32G单片机原理图库是一个由STC公司提供的原理图资源库,其中包含了STC32G系列单片机的原理图设计。STC32G系列单片机是一款高性价比的32单片机,具有高速捕获、PWM输出等高级功能,广泛应用于各种控制场合。 使用STC32G单片机原理图库可以快速设计出符合要求的电路,提高开发效率。在使用时,需要先下载相应的原理图文件,然后在电路设计软件中打开并进行修改。同时,也可以参考原理图库中的示例电路,快速实现特定的功能。 STC32G单片机原理图库的优点在于资源齐全、易于使用。STC公司不断更新和完善该库,保证用户能够及时获得最新的资源。使用该库可以有效降低电路设计的难度和复杂度,加速产品的开发周期。 需要注意的是,在使用STC32G单片机原理图库时,应根据实际需求进行电路设计。因为每个应用场合的要求各不相同,需要设计师对电路进行适当的调整和优化。同时,还需要考虑多方面因素,如功耗、稳定性、可靠性等,确保产品的性能和品质达到最优化水平。 ### 回答2: STC32G单片机是一种高性能的单片机,广泛应用于各种电子设备和嵌入式系统中。STC32G单片机原理图库是一种存储大量原理图的资源库,方便用户在设计电路时快速查找相关的原理图,提高工作效率。 STC32G单片机原理图库包含了丰富的原理图,包括基本电路、驱动电路、控制电路等,这些原理图都是由经验丰富的工程师精心设计、优化的。用户可以通过查找STC32G单片机原理图库中的原理图,快速获得相关电路的设计灵感,在电路设计过程中避免重复劳动、提高效率,减少错误。 除了基本的电路设计,STC32G单片机原理图库中也包含了一些高级电路设计,比如模拟电路设计、数字电路设计、射频电路设计等。这些设计涉及到电路的理论、计算、仿真等方面,对于电路设计者来说是非常有价值的资源。 总之,STC32G单片机原理图库是一个非常有用的资源库,可以帮助电路设计者快速获取所需要的电路设计,提高工作效率和设计水平。 ### 回答3: STC32G单片机原理图库是一些可供参考的原理图,包含了STC32G系列单片机电路的设计和连接方式。这些原理图可以帮助工程师在硬件设计时更快地理解单片机的相关功能和接口,从而加速产品的研发和市场推广过程。 STC32G单片机原理图库中的图纸可以分为两大类:系统原理图和外设原理图。系统原理图包含了单片机的基本连接方式,例如电源、复、时钟和ISP接口等;外设原理图则是针对特定外设的连接方式,例如串口、SPI、I2C等等。 使用STC32G单片机原理图库时,需要首先按照自己的需求选择相应的原理图,并仔细阅读原理图中的注释和说明,确保对其中的每个电路元件、信号线和接口等都有清晰的认识。然后,可以在自己的硬件设计中借鉴这些电路图,从而避免一些基本的设计错误和漏洞。 总之,STC32G单片机原理图库是一个非常实用的电路设计工具,可以为工程师提供方便和快捷的参考。同时,这些原理图也可以帮助开发者更好地理解并掌握STC32G单片机的用法和特性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值