自昊芯推出专题讲解SCI串口通讯奇偶校验,分为两期讲解,上期主要讲解标准SCI模式下的奇偶校验,本期主要讲解增强FIFO模式下的奇偶校验。
HX2000系列SCI模块与中断框图如下,可通过SCICCR[PARITYENA]使能,启动奇偶校验;采用SCICCR[PARITY]选择,使用奇或偶校验,对每个字符增加一个额外的校验位,以校验收发数据的二进制码中“1”的个数,校验收发数据的一致性;FIFO模式下校验原理与标准模式一致,但收发数据校验位不一致时,仅置位SCIRXBUF[SCIFFPE]输出错误信号。


由此设计SCI串口增强FIFO通信校验实例:采用SCI与串口CH340,通过串口调试助手,向CPU发送任意一组四字节数据,CPU接收所发送的数据,通过按键控制,选择奇或偶校验,校验收发数据的一致性,硬件连接如下图所示:

基于以上分析,在CDK上开发SCI串口增强FIFO通信校验,代码包括:SCI GPIO外设引脚配置,SCI增强FIFO功能与校验配置程序,发送、接收与校验程序,主程序调用执行。主要代码如下:
1.intmain(void)2.{3./*初始化系统控制*/4.InitSysCtrl();5./*初始化内存控制寄存器,使能内存流水线模式*/6.InitFlash();7./*初始化串口通信的GPIO口:GPIO28: SCIRXDA,GPIO29: SCITXDA*/8.InitSciGpio();9.10./*初始化LED,用于指示奇偶与帧格式校验错误*/11.InitLED();12./*初始化key按键,用于控制奇偶校验模式选择*/13.InitKEY();14.15./*关闭PIE中断*/16.InitPieCtrl();17./*清除中断标志位*/18.IER=0x0000;19.IFR=0x0000;20./*初始化PIE中断向量表*/21.InitPieVectTable();22.23.EALLOW;24./*中断向量表入口地址SCIRXINTA,指向执行接收中断、校验模式选择与程序*/25.PieVectTable.SCIRXINTA=&sci_rx_isr;26.EDIS;27.28./*打开相应的PIE中断线*/29.IER|=M_INT9;30./*PIEGroup9,SCIRXINTA*/31.PieCtrlRegs.PIEIER9.bit.INTx1=1;32.33./*SCI增强FIFO配置:含奇偶校验*/34.Scia_Config(9600);35./*打开全局中断*/36.EINT;37.for(;;)38.{39.}40.return0;41.}CDK上开发SCI串口增强FIFO通信校验程序,编译结果为:

编译通过后,就可开始调试了,调试后,可通过串口调试助手查看发送与接收到的数据:

收发数据校验位不一致时,通过SciaRegs.SCIRXBUF.SCIFFPE置位输出错误信号:

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
芯片
+关注
关注
463文章
54706浏览量
471474 -
fifo
+关注
关注
3文章
407浏览量
45980
发布评论请先 登录
相关推荐
热点推荐
SN74BCT29854:8位到9位奇偶校验总线收发器的技术剖析
SN74BCT29854:8位到9位奇偶校验总线收发器的技术剖析 在电子设计领域,数据传输的准确性和可靠性至关重要。今天,我们将深入探讨德州仪器(TI)的SN74BCT29854 8位到9位奇偶校验
74ABT899:9位可锁存收发器与奇偶校验器的技术剖析
的74ABT899 9位可锁存收发器与奇偶校验器。 文件下载: 74ABT899CMSA.pdf 一、产品概述 74ABT899是一款带有透明锁存器的9位至9位奇偶收发器。它既可以作为直通式收发器工作,也能在两个方向上对8位数据总线进行
合肥乾芯QXS320F280049开发板卡开箱及串口通讯测试
的时候主要遵循以下步骤
使能SCI时钟
配置发送和接收的GPIO多路复用寄存器
配置SCI模块的波特率
配置SCI模块的参数, 常见的参数为: 8位有效数据位, 一位停止位, 无奇偶校验
发表于 01-12 09:39
【乾芯QXS320F开发板试用】基于printf重定向的高速串口调试方案
。
二、代码分析
核心代码的逻辑是通过重定向(Retarget) C语言标准库的 printf 和 puts 函数,使得原本输出到控制台的内容,改由芯片的物理串口(SCI)发出。这一点
发表于 01-07 17:30
【乾芯QXS320F开发板试用】乾芯QXS320F开发板试用报告二: 串口开发
的波特率
配置SCI模块的参数, 常见的参数为: 8位有效数据位, 一位停止位, 无奇偶校验
配置中断优先级
配置中断接收函数
使能SCI接收中断
QXS320F280049RevB开发板对S
发表于 12-21 18:55
【乾芯QXS320F开发板试用】串口打印
, uint32_t intFlags);
这里sci自带fifo,除此外,函数里还有关于阻塞和非阻塞写入和读取的,我个人认为这些函数挺有用的。
对cortex-m内核芯片库函数比较熟悉的人来说,使用这些库函数也
发表于 12-12 13:33
瑞芯微双芯片助力广汽昊铂GT攀登版正式下线
瑞芯微车规级芯片再迎重大应用突破 —— 近日,搭载RK3588M 智能座舱主控芯片与 RK2118M 音频 DSP 芯片的广汽昊铂 GT -
乾芯课堂系列(一)乾芯QXS320F280049 芯片多种通讯方式OTA流程
对于初次接触 IDE 和乾芯F280049 芯片、又需搭建远程升级功能的应用开发者来说,“从零移植 OTA 框架” 往往是道耗时又棘手的难关。不过现在,这一难题有了高效解决方案 —— 我们已为乾芯
发表于 10-15 13:51
【作品合集】中科昊芯Core_DSC280025C开发板测评
中科昊芯Core_DSC280025C开发板测评作品合集
产品介绍:
Core_DSC280025C核心板使用了昊芯HXS320F28025CRISC-V DSP
发表于 09-18 10:52
芯新闻|昊芯亮相第五届RISC-V中国峰会,共绘开源芯片新纪元
的突破性进展。本次峰会汇聚了全球RISC-V领域的顶尖企业、研究机构和开源社区,共同探讨RISC-V技术的创新与应用。产品线全覆盖峰会上,昊芯展示了HX2000系列家族
【中科昊芯Core_DSC280025C开发板试用体验】+SCI测试与代码解读
程序,注意要安装到win10,据说win7下会出现很多问题,安装注意不要有中文目录,安装后,需要下载程序实例,可以直接在IDE主页面也可以到官网下载:HX2000_Examples: HX2000系列
发表于 07-17 10:42
【中科昊芯Core_DSC280025C开发板试用体验】+3.DSP基础外设调试(含源码)
。大致了解了官方工程的是框架和架构。我也参考了官方提供的hx2000-examples-master 例程代码。
例程里面的代码,用的库还是官方早期版本的,所以,昊芯的库后期肯定还会继续迭代。为了避免后期
发表于 07-13 16:07
【中科昊芯Core_DSC280025C开发板试用体验】+1.开箱之浮点计算对比
笼统,还是看手册比较细致。
当然参考例程也是有的。
另外,也可以在立创商城上能看到中科昊芯的DSP芯片某些型号也有上架的,价格也并不算高。
所以经过前期的一系列准备后,我觉得可以
发表于 06-29 10:01
芯教程|平头哥助力昊芯HX2000系列芯片专题SCI串口通讯奇偶校验(二)SCI增强FIFO
评论