首页 > 其他分享 >03-【K210】通用串口和高速串口

03-【K210】通用串口和高速串口

时间:2024-03-19 21:56:07浏览次数:22  
标签:03 fpioa UART K210 uart 串口 include myword

目录

01 串口通讯协议简介

串口通讯(Serial Communication)是一种设备间非常常用的串行通讯方式,因为它简单便捷,大部分电子设备都支持该通讯方式, 电子工程师在调试设备时也经常使用该通讯方式输出调试信息。

在计算机科学里,大部分复杂的问题都可以通过分层来简化。如芯片被分为内核层和片上外设;官方SDK库则是在寄存器与用户代码之间的软件层。对于通讯协议,我们也以分层的方式来理解,最基本的是把它分为物理层和协议层。物理层规定通讯系统中具有机械、电子功能部分的特性,确保原始数据在物理媒体的传输。协议层主要规定 通讯逻辑,统一收发双方的数据打包、解包标准。简单来说物理层规定我们用嘴巴还是用肢体来交流,协议层则规定我们用中文还是英文来交流。

02 K210的串口类型

(1)高速UART

高速 UART 为 UARTHS(UART0)

(2)通用UART

通用UART为UART1、UART2 和UART3,支持异步通信(RS232和RS485和IRDA,通信速率可达到5Mbps。UART支持CTS和RTS 信号的硬件管理以及软件流控 (XON和XOFF)。3 个接口均可被DMA访问或者CPU直接访问

03 通用UART测试例程

#include "fpioa.h"
#include "sleep.h"
#include "uart.h"
#include <string.h>


// 硬件IO口,与原理图对应
#define PIN_UART_USB_RX       (4)
#define PIN_UART_USB_TX       (5)


/// @brief 
/// @param  
/// @return 
int main(void)
{

    // fpioa映射
    fpioa_set_function(4, FUNC_UART1_RX);
    fpioa_set_function(5, FUNC_UART1_TX);

    uart_init(UART_DEVICE_1);
    uart_config(UART_DEVICE_1,115200,UART_BITWIDTH_8BIT,UART_STOP_1,UART_PARITY_NONE);
    char *myword = {"test word!!\n"};
    uart_send_data(UART_DEVICE_1,myword,strlen(myword));

    while(1)
    {
        msleep(1000);
        uart_send_data(UART_DEVICE_1,myword,strlen(myword));
       
    }
    }

}

04 高速串口测试例程

#include "fpioa.h"
#include "sleep.h"
#include "uart.h"
#include <string.h>


/// @brief 
/// @param  
/// @return 
int main(void)
{

    // fpioa映射
    fpioa_set_function(4, FUNC_UARTHS_RX);
    fpioa_set_function(5, FUNC_UARTHS_TX);

    uart_init(UART_DEVICE_1);
    uart_config(UART_DEVICE_1,115200,UART_BITWIDTH_8BIT,UART_STOP_1,UART_PARITY_NONE);
    char *myword = {"0000!!\n"};
    uart_send_data(UART_DEVICE_1,myword,strlen(myword));

    while(1)
    {
        msleep(1000);
        uart_send_data(UART_DEVICE_1,myword,strlen(myword));
       
    }

}

标签:03,fpioa,UART,K210,uart,串口,include,myword
From: https://www.cnblogs.com/Johnson-Lan/p/18084056

相关文章

  • 20240319每日一题题解
    20240319每日一题题解Problem判断一个数的结构是否为某个数重复两遍得到。例如,\(123123\)是重复两遍的数,而\(333\),\(809680\)​则不是保证输入的数字不超过longlong型范围。若是,则输出yes;否则输出no。Solution从数字的角度要想解决这个问题也不是不可以,但是不如将给定的数......
  • 'vue' 不是内部或外部命令,也不是可运行的程序 或批处理文件解决方法
    查看信息npmconfiglist根据prefix路径,查看是否有'vue.cmd'文件参考了这篇感觉很整齐如果没有就安装vuenpminstall-gvue再安装脚手架vue-cli//安装npminstall-g@vue/cli//或者cnpminstall-g@vue/cli//或者yarnglobaladd@vue/cli然后配置环境变......
  • 02-【K210】FPIO的API介绍和简单应用
    目录01概述02特性03接口04api接口验证01概述Fpioa(FieldProgrammableI/OArray)AllowsTheUserToMap256InternalFunctionsTo48FreeI/OsOnTheChip02特性•SupportForI/O’SProgrammableFunctionSelection•8DrivingCapabilityOptionsForI/OOutp......
  • 2024.03.19【文字排版】作为设计师 这三个功能不用还是尽量别用
    第一个功能-黑色加粗的“B”它是Bold的简写,可以通过这一功能将字体给加粗加大一号。可是实际上这个功能并不是把字体变成大一号,而是单纯的给字体加上一个外轮廓,这样不仅破坏了设计师原本的字形轮廓设计,可选粗细单一而且会使得字体变形,看着不美观也不自然所以大部分字库都会......
  • Air7803-EC618
    PWR长按才能开机https://gitee.com/openLuat/airm2m_ec618_at/releases?page=3https://doc.openluat.com/wiki/21?wiki_page_id=4460https://doc.openluat.com/wiki/21?wiki_page_id=4472https://doc.openluat.com/wiki/37?wiki_page_id=4454本身里面有固件的2024年2月2......
  • FPGA之串口接收数据(看注释)
    兜兜转转看了好多家视频和好几本书,明白了FPGA难学的原因之一是因为讲的好(我觉得就是很详细,告诉你为什么这么来写代码)的视频比较少,之前看到的那本书其实也很好,只是没有说为什么这么写,以及某些步骤的用意,这次看了野火的视频,发现挺符合我的需求,他们视频和我借的那本书思路是相同的,野......
  • LY1169 [ 20230328 CQYC省选模拟赛 T1 ] 传奇特级超空间
    题意设\(f_{n,m}\)表示\(m\)维空间能被\(n\)个\(m-1\)维空间划分的最大区域数。求\(\sum_{i=0}^mf_{n,i}\)\(n,m\le10^{18},p\le2\times10^7\)Sol注意到:\(f_{n,m}=f_{n-1,m-1}+f_{n-1,m}\)。不难想到\(f\)应该是组合数的前缀......
  • 算法模板 v1.10.1.20240319
    算法模板v1.1.1.20240115:之前历史版本已不可寻,创建第一份算法模板。v1.2.1.20240116:删除“编译”-“手动开栈”;删除“编译”-“手动开O优化”;修改“编译”-“CF模板”;删除“读写”;删除“图论”-“欧拉图”-“混合图”;删除“图论”-“可达性统计”;删除“数据类型”-“高精类”。......
  • 2024-03-19 闲话
    最近看了十几集friends,非常尴尬的是这里也太多成人内容了。今天上英语课slides上出现了:开幕雷击。虽然本来就是六个成年人的故事,出现成人关注的题材也很正常,但是感觉这个内容占比,充分说明了激素是行为调节的关键因素。上周六心血来潮去看了一下未删减wolfofwallstreet......
  • 303. 区域和检索 - 数组不可变
    目录题目前缀和题目给定一个整数数组nums,处理以下类型的多个查询:计算索引left和right(包含left和right)之间的nums元素的和,其中left<=right实现NumArray类:NumArray(int[]nums)使用数组nums初始化对象intsumRange(inti,intj)返回数组nums中索引......