N32G031固件库开发(二)USART----printf打印

通用同步异步收发器 ----USART

2.1

        通用同步异步收发器(USART)是一种全双工串行数据交换接口,支持同步或异步通信。可灵活配置,以便于与多种外部设备进行全双工数据交换。USART 接口发送与接收波特率可配置,也支持通过 DMA 进行连续通信。USART 还支持多处理器通信、LIN 模式、同步模式、单线半双工通信、智能卡异步协议、IrDA SIR ENDEC 功能、以及硬件流控制功能。

2.2 主要特性

 支持全双工通信
 支持单线半双工通信
 波特率可配置,最高波特率可达 3Mbit/s
 支持 8bit 或 9bit 数据帧
 支持 1bit 或 2bit 停止位
 支持硬件生成校验位及校验位检查 
 支持硬件流控: RTS、CTS
 支持 DMA 收发
 支持多处理器通信:如果地址不匹配,则进入静默模式, 可通过空闲总线检测或地址标识唤醒
 支持同步模式,允许用户在主模式下控制双向同步串行通信
 支持智能卡异步协议,符合 ISO7816-3 标准
 支持串行红外协议(IrDA SIR)编码与解码,提供正常与低功耗两种运行模式
 支持 LIN 模式
 支持多钟错误检测:数据溢出错误、帧错误、噪声错误、检验错误
 支持多个中断请求:发送数据寄存器为空、CTS 标志、发送完成、数据已接收、数据溢出、总线空闲、
检验错误、LIN 模式断开帧检测、以及多缓冲区通信中的噪声标志/溢出错误/帧错误

2.3 串口打印程序配置

#include "usart.h"	
void uart_init(unsigned long bound)
{
	USART_InitType USART_InitStructure;
    GPIO_InitType GPIO_InitStructure;
	RCC_ClocksType RCC_ClocksStatus;
    
    /* System Clocks Configuration */
    /* Enable GPIO clock */
    GPIO_APBxClkCmd(USARTx_GPIO_CLK, ENABLE);
	
    /* Enable USARTx Clock */
    USART_APBxClkCmd(USARTx_CLK, ENABLE);

    /* Initialize GPIO_InitStructure */
    GPIO_InitStruct(&GPIO_InitStructure);    

    /* Configure USARTx Tx as alternate function push-pull */
    GPIO_InitStructure.Pin            = USARTx_TxPin;
    GPIO_InitStructure.GPIO_Mode      = GPIO_MODE_AF_PP;
    GPIO_InitStructure.GPIO_Alternate = USARTx_Tx_GPIO_AF;
    GPIO_InitPeripheral(USARTx_GPIO, &GPIO_InitStructure);   

    /* Configure USARTx Rx as alternate function push-pull */
    GPIO_InitStructure.Pin            = USARTx_RxPin;
    GPIO_InitStructure.GPIO_Alternate = USARTx_Rx_GPIO_AF;
    GPIO_InitPeripheral(USARTx_GPIO, &GPIO_InitStructure); 

    RCC_GetClocksFreqValue(&RCC_ClocksStatus);

    /* USARTy and USARTz configuration ------------------------------------------------------*/
    USART_InitStructure.BaudRate            = bound;
    USART_InitStructure.WordLength          = USART_WL_8B;
    USART_InitStructure.StopBits            = USART_STPB_1;
    USART_InitStructure.Parity              = USART_PE_NO;
    USART_InitStructure.HardwareFlowControl = USART_HFCTRL_NONE;
    USART_InitStructure.Mode                = USART_MODE_RX | USART_MODE_TX;

    /* Configure USARTx */
    USART_Init(USARTx, &USART_InitStructure);
    /* Enable the USARTx */
    USART_Enable(USARTx, ENABLE);
}
#ifndef __USART_H
#define __USART_H
#include "n32g031.h"
#include <stdarg.h>
#include "stdio.h"

#define _USART1_COM_

#ifdef _USART1_COM_
#define USARTx              USART1
#define USARTx_CLK          RCC_APB2_PERIPH_USART1
#define USARTx_GPIO         GPIOA
#define USARTx_GPIO_CLK     RCC_APB2_PERIPH_GPIOA
#define USARTx_RxPin        GPIO_PIN_10
#define USARTx_TxPin        GPIO_PIN_9
#define USARTx_Rx_GPIO_AF   GPIO_AF4_USART1
#define USARTx_Tx_GPIO_AF   GPIO_AF4_USART1
#define GPIO_APBxClkCmd     RCC_EnableAPB2PeriphClk
#define USART_APBxClkCmd    RCC_EnableAPB2PeriphClk

void uart_init(unsigned long bound);
#endif

#endif 
int main(void)
{
		uart_init(115200);

    while (1)
    {          
			printf("USART----\r\n");
    }
}

程序编译下载用串口助手打印出来效果如下

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
USART-GPU单片机程序是一种利用USART通信协议与GPU进行数据交换的单片机程序。USART是通用同步异步收发传输器的简称,是一种串行通信协议,用于在微控制器和外部设备之间进行数据传输。GPU则是图形处理器的缩写,负责处理计算机图形和图像相关的任务。 在USART-GPU单片机程序中,单片机通过USART通信协议与GPU进行数据传输。它首先建立USART通信连接,并初始化对应的USART通信端口和波特率。然后,单片机将需要传输的数据通过USART协议封装成数据包,并发送给GPU。GPU接收到数据包后,解析数据并进行相应的图形和图像处理操作。处理完成后,GPU将结果数据封装成数据包,并通过USART协议将数据包发送给单片机单片机接收到数据包后,解析数据,并根据需要进行后续的操作或显示。 USART-GPU单片机程序的应用场景很广泛。例如,可以用于嵌入式系统中的图形显示和图像处理,可以通过单片机与GPU进行数据交互,实现显示器的驱动和图像的处理。另外,它还可以应用于机器人、智能仪表、智能家居等领域,利用GPU的强大计算能力和图形处理能力,实现更加复杂的计算和图形展示任务。 总之,USART-GPU单片机程序是一种利用USART通信协议与GPU进行数据交换的单片机程序,通过USART协议建立通信连接,实现单片机与GPU之间的数据传输和互操作。它在嵌入式系统、机器人、智能仪表等领域具有广泛的应用前景。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

疯狂造机人~~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值