当前位置: 首页 > news >正文

AG32cpld实现一个UartTx“外设”

功能描述:用cpld实现一个Uart的tx功能,并且认为是一个“外设”。(注意:只是个简单的tx功能,没有rx,也没有更多的功能)

这个例程是对mcu于apb交互的进一步演练。在功能方面,包括:设置寄存器,读取寄存器。

它的cpld实现逻辑,跟ADC样例思路是相同的,都是先ahb转apb,然后实例化外设,mcu写数据时apb接收后处理,mcu读数据时apb触发后处理。

读的时候,是读的串口的state状态;

写的时候,会把写的数据继续丢给uart模块处理(转化为IO的高低波形输出)

mcu端,在while(1)里边:

查询cpld的写状态,当状态合适时,发数据给cpld,cpld根据时序转换为波形输出到定义的Pin。

更多细节,请参考cpld工程中的代码和注释。

这部分的实例代码,请参考网盘上获取:

链接:百度网盘 请输入提取码 里边的 \cpld-fpga文档\logic样例\6.UartTx例程

.

这个样例完全理解完,就可以尝试读ADC的代码了。

在example/analog工程,展示了ADC模块做为外设,与mcu之间的数据交互(ADC采集后的数据,被mcu读取)。

相当于:ADC硬核+ADC的cpld逻辑,实现了一个完整的“ADC外设”。

关于ADC/DAC/CMP的代码解析,请从网盘上获取:

链接:百度网盘 请输入提取码 里边的 \cpld-fpga文档\analog代码分析。

.

http://www.dtcms.com/a/323532.html

相关文章:

  • 莫比乌斯反演学习笔记
  • Qt 元对象系统中的 QMetaObject 类和他的invokeMethod() 函数及其他常见函数应用详解​
  • MoVA:多模态视觉专家混合架构的创新设计与应用实践
  • 【能碳建设2】把“能碳计算”做成可配置、可演示的系统
  • codeforces 补题1
  • FAN5622SX 四通道六通道电流吸收线性LED驱动器,单线数字接口 数字式调光, 2.7 → 5.5 V 直流直流输入, 30mA输出FAN5622S
  • 现代数据加密技术:守护数字世界的无形之盾
  • 供应链需求预测项目如何设定合理的KPI、准确率指标(十四)
  • jxWebUI--输入框
  • M8-11读卡器如何通过RS485转Profinet网关在plc写入从站地址
  • 飞书多维表格搭建设备租赁系统-和保养提醒
  • C++ 虚函数、多重继承、虚基类与RTTI的实现成本剖析
  • 云闪付自动签到脚本
  • 线程池与反射
  • 动态规划(三维)直接按照题目条件
  • 基于STM32H5的循环GPDMA链表使用
  • Redis 事务机制
  • java基础(六)jvm
  • Vue3 路由
  • Chaos Monkey 故障注入工具使用介绍
  • Day37--动态规划--52. 携带研究材料(卡码网),518. 零钱兑换 II,377. 组合总和 Ⅳ,57. 爬楼梯(卡码网)
  • Web前端之 ECMAScript6
  • 【ros_humble】3.人脸检测python(服务通讯和参数通讯介绍)
  • 关于Linux软件编程1
  • leetcode 128. 最长连续序列 - java
  • 【网络与爬虫 51】Scrapy-Cluster分布式爬虫集群:企业级大规模数据采集解决方案
  • 卷积神经网络学习
  • 新手小白使用jQuery在实际开发中常用到的经验
  • 讯飞晓医-讯飞医疗推出的个人AI健康助手
  • 初学python的我开始Leetcode题15-2