首页 > 其他分享 >(10)uart串口通信

(10)uart串口通信

时间:2024-05-19 09:11:30浏览次数:20  
标签:10 uart rx 计数 flag 串口 data

一、uart简介

 

 

二、uart串口通信实验

 其中:

  sys_clk为系统时钟。uart_rxd为串口从上位机接收到的数据,

  当检测到uart_rxd出现下降沿(起始位),start_flag产生正向脉冲,rx_flag也被拉高,

  clk_cnt为时钟计数器,由0计数到433,rx_cnt为接收数据计数器,当计数到第九位且时钟计数达到波特率的一半时,将rx_flag置低。

  在实验中,我们将传入的8bit数据存入一个临时寄存器rx_data(图中未体现),当计数到第九个时,uart_done信号产生正向脉冲,表示一次串口通信结束,此时将临时寄存器rx_data赋值给数据输出uaret_data。

  注:为了防止亚稳态的影响,我们将打两拍后的uart_rxd赋值给临时寄存器中

标签:10,uart,rx,计数,flag,串口,data
From: https://www.cnblogs.com/liwilling/p/18200027

相关文章

  • 热更学习笔记10~11----lua调用C#中的List和Dictionary、拓展类中的方法
    [10]Lua脚本调用C#中的List和Dictionary调用还是在上文中使用的C#脚本中Student类:lua脚本:print("------------访问使用C#脚本中的List和Dictionary-----------")student.list:Add(2024)student.list:Add(5)student.list:Add(18)locallistSize=student.list.Countprin......
  • [20240516]建立任意进制转10进制脚本xto10.sql脚本.txt
    [20240516]建立任意进制转10进制脚本xto10.sql脚本.txt--//bashshell64进制编码从0开始.0-9,a-z,A-Z.这样仅仅62个编码.还剩下2个.@_--//这样完整的编码如下:$base64=$(echo{0..9}{a..z}{A..Z}@_)$echo$base640123456789abcdefghijklmnop......
  • [20240510]SQL语句存在问题与共享池内存分配.txt
    [20240510]SQL语句存在问题与共享池内存分配.txt--//五一前遇到的问题,生产系统应用程序升级,但是3个表忘记建立,而编写的程序可能存在问题,导致频繁调用这些根本不可能执行的sql--//语句.很奇怪的是应用前台根本不报错,真不知道开发如何写代码,难道没做例外处理以及记录吗?--//测......
  • [20240511]建立10进制转任意进制10tox.sql脚本.txt
    [20240511]建立10进制转任意进制10tox.sql脚本.txt--//翻开以前笔记,找到1个脚本10x.sql(改名10tox.sql),可以实现10进制转任意进制.受字符集限制最大64进制.--//bashshell64进制编码从0开始.0-9,a-z,A-Z.这样仅仅62个编码.还剩下2个.@_,以该编码为基础来实现--//bashshel......
  • VUE速通(10)Vue3核心语法(2)setup
    1setup概述setup是Vue3中一个新的配置项,值是一个函数,它是CompositionAPI“表演的舞台”,组件中所用到的:数据、方法、计算属性、监视......等等,均配置在setup中。特点如下:setup函数返回的对象中的内容,可直接在模板中使用。setup中访问this是undefined。setup函数会......
  • LG10384
    一道相当不错的概率题。首先考虑种子中存在\(\verb!aa!\)的情况。显然,我们可以让每个不是\(\verb!aa!\)的种子都与这个\(\verb!aa!\)型的种子杂交,并检验杂交后的性状。若为\(\verb!a!\),则一定为\(\verb!Aa!\),否则可能是\(\verb!AA!\)或\(\verb!Aa!\)。不难想到多杂交......
  • LG10374
    提供一种树状数组的做法。对于每个操作,我们考虑求出它执行的次数。题目保证了对于操作\(2\)所执行的操作编号都比其自身编号小,换句话说,即每个操作的执行次数是由编号比它大的操作决定的。有了这个性质后,不难发现可以倒着扫一遍每个操作。对于当前操作\(i\),可以通过前面的处理......
  • LG10444
    首先有一个显然的结论,即若可以分成超过\(2\)个序列,则一定可以分成\(2\)个序列。如样例中的第二组数据,可以直接分成\(\{1,1,1,9\}\)和\(\{8,0\}\)。严谨证明留给读者思考。有了上面这个结论后,就转化为判断是否能够分成两个序列。注意到极差只与最大值与最小值有关,因此全局......
  • LG10270
    思路十分简单,但需要一定的转化,好题。记\(s_{i,j}\)表示第\(i\)行的第\(j\)个字符。考虑任意一点\((i,j)\),假设在此之前没有经过字母不同的路径,若\(s_{i,j+1}\)和\(s_{i+1,j}\)不同,则可以分别往这两个方向走,最长公共前缀也就固定下来了,长度为\(i+j-1\)。于是我们就可......
  • LG10369
    这是一道找规律题。不妨从小情况入手。当\(n=2\)时,显然令\(a=\{0,1\}\)是最优的,此时进行一次操作得到\(2\),为最大的答案。这是最基础的情况,也就是对于\(n\)更大的情况,答案最多也只能是\(2\)。接下来观察\(\operatorname{mex}\)的性质。\(\operatorname{mex}(0,1)=......