四川微信网站建设推品牌建设归哪个部门管

web/2025/10/5 11:03:28/文章来源:
四川微信网站建设推,品牌建设归哪个部门管,WordPress评论楼层,c#如何做公司网站文章目录 [toc]1. GW1NSR-4C串口外设简介2. FPGA配置3. 常用函数4. 轮询方式接收数据5. 中断方式接收数据 本文是高云FPGA系列教程的第8篇文章。 本篇文章介绍片上ARM Cortex-M3硬核处理器串口外设的使用#xff0c;演示轮询方式和中断方式接收串口数据#xff0c;并进行回环… 文章目录 [toc]1. GW1NSR-4C串口外设简介2. FPGA配置3. 常用函数4. 轮询方式接收数据5. 中断方式接收数据 本文是高云FPGA系列教程的第8篇文章。 本篇文章介绍片上ARM Cortex-M3硬核处理器串口外设的使用演示轮询方式和中断方式接收串口数据并进行回环测试基于TangNano 4K开发板。 参考文档Gowin_EMPU(GW1NS-4C)软件编程 参考手册 1. GW1NSR-4C串口外设简介 GW1NSR-4C ARM部分共有2个串口外设都挂载在APB1总线上最高支持波特率921.6Kbit/s无奇偶校验位8位数据位1位停止位支持高速测试模式 HSTMHigh Speed Test Mode即每个时钟周期输出1位数据可以在短时间内传输大量数据。 官方手册上没有描述发送和接收缓存FIFO的深度所以不确定是否支持缓存。 2. FPGA配置 FPGA部分需要在云源软件中手动使能EMPU串口外设如下图所示。 不需要其他配置使用起来非常简单。 3. 常用函数 高云串口驱动函数常用的有以下几个 //串口初始化指定波特率和中断使能高速测试模式等 ErrorStatus UART_Init(UART_TypeDef* UARTx, UART_InitTypeDef* UART_InitStruct) //获取接收缓存区状态当接收到数据时返回SET FlagStatus UART_GetRxBufferFull(UART_TypeDef* UARTx) //获取发送缓存区状态 FlagStatus UART_GetTxBufferFull(UART_TypeDef* UARTx) //发送一个字节 void UART_SendChar(UART_TypeDef* UARTx,char txchar) //发送字符串 void UART_SendString(UART_TypeDef* pUARTx, char *str) //接收一个字节轮询或接收中断时调用自动 char UART_ReceiveChar(UART_TypeDef* UARTx) //获取接收中断的状态当被触发时返回SET ITStatus UART_GetRxIRQStatus(UART_TypeDef* UARTx) //获取发送中断的状态 ITStatus UART_GetTxIRQStatus(UART_TypeDef* UARTx) //清除接收中断 void UART_ClearRxIRQ(UART_TypeDef* UARTx) //清除发送中断 void UART_ClearTxIRQ(UART_TypeDef* UARTx)下面来介绍串口接收数据的两种方式轮询方式和中断方式。 4. 轮询方式接收数据 初始化时不使能接收中断 void uart0_init(uint32_t BaudRate) {UART_InitTypeDef UART_InitStruct;UART_InitStruct.UART_Mode.UARTMode_Tx ENABLE;UART_InitStruct.UART_Mode.UARTMode_Rx ENABLE;UART_InitStruct.UART_Int.UARTInt_Tx DISABLE;UART_InitStruct.UART_Int.UARTInt_Rx DISABLE;UART_InitStruct.UART_Ovr.UARTOvr_Tx DISABLE;UART_InitStruct.UART_Ovr.UARTOvr_Rx DISABLE;UART_InitStruct.UART_Hstm DISABLE;UART_InitStruct.UART_BaudRate BaudRate;//Baud RateUART_Init(UART0, UART_InitStruct); }主循环中直接把收到的数据通过串口发送出去 while(1) {if(UART_GetRxBufferFull(UART0)){cnt_idle 0;rx UART_ReceiveChar(UART0);printf(rec data: %c\r\n, rx);} }这种简单粗暴的方式会导致数据丢失可能是串口接收部分没有FIFO导致 我们可以采用缓冲区配合超时空闲的方式来处理首先定义一个缓冲数组用来存储收到的数据并通过一个计时器来判断当前是否空闲若空闲则把数据返回 uint8_t rx 0; uint8_t buf[256]; uint16_t buf_idx 0; uint32_t cnt_idle 0;//空闲超时方式接收不丢失数据 while(1) {//空闲时间计数器if(buf_idx ! 0){cnt_idle;}else {cnt_idle 0;}//数据缓存到数组中if(UART_GetRxBufferFull(UART0)){cnt_idle 0;buf[buf_idx] UART_ReceiveChar(UART0);buf_idx;}//长时间没有接收到串口数据把缓冲区数据返回if(cnt_idle 5000) //明显感觉500000{UART_SendString(UART0, buf);cnt_idle 0;buf_idx 0;memset(buf, 0, sizeof(buf)/sizeof(buf[0]));} }实际测试效果很不错数据没有任何丢失 下面来介绍通过串口接收中断的方式来缓存数据。 5. 中断方式接收数据 初始化时使能串口接收中断并通过NVIC开启串口中断请求。 void uart0_init(uint32_t BaudRate) {UART_InitTypeDef UART_InitStruct;NVIC_InitTypeDef InitTypeDef_NVIC;UART_InitStruct.UART_Mode.UARTMode_Tx ENABLE;UART_InitStruct.UART_Mode.UARTMode_Rx ENABLE;UART_InitStruct.UART_Int.UARTInt_Tx DISABLE;UART_InitStruct.UART_Int.UARTInt_Rx ENABLE; //开启接收中断UART_InitStruct.UART_Ovr.UARTOvr_Tx DISABLE;UART_InitStruct.UART_Ovr.UARTOvr_Rx DISABLE;UART_InitStruct.UART_Hstm DISABLE;UART_InitStruct.UART_BaudRate BaudRate;//Baud RateUART_Init(UART0, UART_InitStruct);//Enable UART0 interrupt handlerInitTypeDef_NVIC.NVIC_IRQChannel UART0_IRQn;InitTypeDef_NVIC.NVIC_IRQChannelPreemptionPriority 1;InitTypeDef_NVIC.NVIC_IRQChannelSubPriority 1;InitTypeDef_NVIC.NVIC_IRQChannelCmd ENABLE;NVIC_Init(InitTypeDef_NVIC); }串口中断服务函数数据缓存到数组中并清零空闲计数器 void UART0_Handler(void) {char rx 0;if(UART_GetRxIRQStatus(UART0) SET){rx UART_ReceiveChar(UART0);buf[buf_idx] rx;buf_idx;cnt_idle 0;}UART_ClearRxIRQ(UART0); }需要注释掉系统默认提供的串口中断服务函数否则编译会报错。 主循环中通过一个计数器来判断串口是否空闲当超时没有收到新的数据时认为串口空闲把缓冲区的数据返回 uint8_t rx 0; uint8_t buf[256]; uint16_t buf_idx 0; uint32_t cnt_idle 0;while(1) {//长时间没有接收到串口数据if(buf_idx ! 0)cnt_idle;else cnt_idle 0;if(cnt_idle 5000) //明显感觉500000{printf(rx: %s, buf);cnt_idle 0;buf_idx 0;memset(buf, 0, sizeof(buf)/sizeof(buf[0]));} }下载运行数据完整 本文是高云FPGA系列教程的第8篇文章。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/87326.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站安全设计网站开发前端需要学什么

时代漫画07.PDF: https://url03.ctfile.com/f/1779803-1247458105-0a2c41?p9586 (访问密码: 9586) 《时代漫画》的杂志在1934年诞生了,截止1937年6月战争来临被迫停刊共发行了39期。 ps:资源来源网络!

搭建三合一网站手机网站的内容模块

点击蓝字关注我们C11 中增加了许多的新特性。在本文中,我们来聊一下 lambda 表达式,闭包,std::function以及std::bind。lambda 表达式C11 中新增了 lambda 表达式这一语言特性。lambda 表达式可以让我们快速和便捷的创建一个 “函数”。下面是…

中国国家城乡建设部网站直接用源码做网站盗版吗

写程序员简历时,可以从以下几个方面入手: 1. 个人信息:在简历的开头,包含个人基本信息如姓名、联系方式、地址等。 2. 求职目标/职业目标:明确自己希望得到的职位或行业,并简要描述为什么适合该职位。 3…

济宁梵盛科技网站建设西安做网站的公司

目录 构建生态系统 将Arm架构小芯片带给大众 关于Arm Total Design的结语 我们最近报道了Arm的Neoverse CSS Genesis N2平台的发布,这是一个近乎现成的计算子系统设计,旨在加快尖端基础设施中定制加速器的上市时间。我们当时评论说,我们可…

房产网站关键词优化实验建设网站 南京林业大学

论文基于training-aware NAS和模型缩放得到EfficientNetV2系列,性能远优于目前的模型。另外,为了进一步提升训练速度,论文提出progressive learning训练方法,在训练过程中同时增加输入图片尺寸和正则化强度。从实验结果来看&#…

昆明网站制作服务商wordpress如何设置外网访问

这周没有上课,阅读了《代码大全》第六章模块化设计 内聚性和耦合性 模块化设计的目标是使每个子程序都成为一个“黑盒子”,你知道进入盒子和从盒子里出来 的是什么,却不知道里边发生什么。它的接口非常简单,功能明确,对…

做婚介打么网站好佛山商城网站制作

声明:文章仅用于交流学习,不用于商业项目实施,图片来源于网络,如有侵犯权利,请联系作者及时删除。 本方案旨在对电力电容(PEC和PQM型号)制造工艺深度分析,结合管理要求设计MOM相关功…

娄底北京网站建设建网站引流做淘宝

采集卡默认加载“1 X Full Camera Link”固件,Base模式首先要将固件更新为“2 X Base Camera Link”。 右键SCI图标,选择“打开文件所在的位置”,找到并打开SciDalsaConfig的Demo,如上图所示: 左键单击“获取相机”&a…

电子商务运营网站网店美工的定义

当谈到 Java 网络编程时,经常会听到两个重要的概念:BIO(Blocking I/O,阻塞 I/O)和 NIO(Non-blocking I/O,非阻塞 I/O)。它们都是 Java 中用于处理 I/O 操作的不同编程模型。 一、介…

公司网站建设服务机构广州教育网站建设

const uint8_t usFlashInitVal[] __attribute__((at(0x08002800))) {0x55,0x55,0x55,0x55,0x55};//定位在flash中,0x00030000开始的6个字节信息固定 注意7801的地址在8000000之后 如地址选0x00000800烧录时候报错 不知道是不是atclinktool的bug,使用_…

网站建设设计基础温州营销推广公司

不要做一个清醒的堕落者文章目录 可变参数模板的简介什么是可变参数 模板参数包参数包数据的获取(函数递归获取)参数包的获取(逗号表达式获取) 可变参数的应用emplace 可变参数模板的简介 c11添加的新特性能够让你创建可以接受改变的函数模板和类模板,C98/03&#…

建设网站市场细分修复wordpress

基于浣熊优化的BP神经网络(分类应用) - 附代码 文章目录 基于浣熊优化的BP神经网络(分类应用) - 附代码1.鸢尾花iris数据介绍2.数据集整理3.浣熊优化BP神经网络3.1 BP神经网络参数设置3.2 浣熊算法应用 4.测试结果:5.M…

商丘专业做网站西安微信公众号制作

前端的问题不是难,而是它面对最终用户。只要用户的喜好和口味发生变化,前端就必须跟上。 这导致前端不得不快速变化,因为用户的口味正在越来越快地改变。 后端不需要面对最终用户,需要解决的都是一些经典的计算机科学问题&#…

个人建站什么网站好廊坊建站服务

系列文章目录 前言 我们介绍了 Crocoddyl(Contact RObot COntrol by Differential DYnamic Library),这是一个专为高效多触点优化控制(multi-contact optimal control)而定制的开源框架。Crocoddyl 可高效计算给定预定…

外贸营销网站怎么建设什么是网站和网页

CHM Viewer Star 是一款适用于 Mac 平台的 CHM 文件阅读器软件,支持本地和远程 CHM 文件的打开和查看。它提供了直观易用的界面设计,支持多种浏览模式,如书籍模式、缩略图模式和文本模式等,并提供了丰富的功能和工具,如…

深圳网站设计开发网站页面设计如何收费

当然可以,以下是一份较为详细的NLP学习路线指南,帮助你逐步掌握自然语言处理的核心技术和应用。 一、基础知识与技能 语言学基础: 语言学基本概念:语音、语法、语义等。语言的层次与分类:语音学、音系学、句法学、语…

2017网站开发工程师成都装修设计公司首选

阿波罗应该是近几年比较火的一个分布式配置中心了,说说我个人的理解,希望对一些人有用吧。 首先从使用者的角度想 我们怎么用配置中心的? 1.得有个页面,能有权限管理,能有创建配置key-value。 在阿波罗中&#xff…

产品展示网站源码php分享wordpress小程序源码

前言Windows搭建PHP开发环境很熟练了,要在自己的Mac搭建PHP开发环境还是第一次,因此分享给大家。Mac自带Apache、php,需要自己安装MySql。1.启动Apache// 启动Apache服务sudo apachectl start// 重启Apache服务sudo apachectl restart// 停止Apache服务s…

win网站建设北京seo诊断

1. 题目 给你一个整数数组 nums 和一个正整数 threshold ,你需要选择一个正整数作为除数,然后将数组里每个数都除以它,并对除法结果求和。 请你找出能够使上述结果小于等于阈值 threshold 的除数中 最小 的那个。 每个数除以除数后都向上取…

dede更新网站c 网站开发面试题

目录 前言 开始 HTML部分 效果图 ​编辑​编辑​编辑​编辑总结 前言 无需多言,本文将详细介绍一段代码,具体内容如下: 开始 首先新建文件夹,创建一个文本文档,其中HTML的文件名改为[index.html]&a…