本应用笔记介绍如何使用maxq2000微控制器评估(ev)板上的maxq串行驱动器库开发应用。maxq串行驱动器可用于maxq的iar嵌入式工作台和rowley associates的maxq交叉工作台®,这是使用c语言和汇编语言的maxq应用的两个集成开发和调试环境。c语言示例代码演示了maxq串行驱动器的使用和限制,以及如何使用maxq串行驱动器实现rts/cts流控制。
maxq串行驱动器概述
maxq串行驱动器提供了一组c函数,使用户能够配置maxq uart进行串行通信。这些功能列在maxq2000评估板的源文件maxq_serial.h中。
maxq串行驱动器具有以下特性。
偶数、奇数和无奇偶校验。
独立的发送和接收内部缓冲区。这些缓冲区的大小是在编译时定义的。
非阻塞serial_write和serial_read例程。
一个 serial_isr() 函数,应由用户应用程序作为中断处理程序的一部分调用。它将奇偶校验计算为“每个配置”,并在串行线路上发送/接收数据。
支持应用程序级别的流控制。函数 serial_stoptx() 停止串行数据的传输,serial_restarttx() 重新启动串行传输。
maxq2000串行驱动器的源代码可
在此处
获得。通过修改一些配置参数,可以将驱动程序移植到其它maxq器件,如下所示。
maxq_config.h 包含特定于编译器的配置参数。修改文件中的以下行以适合您的设备和编译器: 以上两行指定驱动程序将针对iar和maxq2000进行编译。要编译maxq的crossworks驱动程序,请按如下方式修改行:
// user configurable options here#define compiler_iar#define device_maxq2000// user configurable options here#define compiler_rowley#define device_maxq2000 上述两行允许用户包含 iar 或 crossworks 工具链的设备特定文件。maxq_serial.h 包含特定于驱动程序的配置参数:驱动程序缓冲区大小、串行端口号和晶体频率(以 hz 为单位)。 更改以下代码以更改驱动程序缓冲区大小: 修改以下代码以指定要为其配置驱动程序的串行端口(serial_port0用于串行端口 0,serial_port1用于串行端口 1): 修改以下代码,更改评估板所用的晶体时钟。maxq2000评估板采用16mhz晶体:
#define rx_rng_size 256#define tx_rng_size 256// specify which serial port you are using#define serial_port0#define xtal_clk 16000000 // 16,000,000hz 硬件和软件要求
为了运行本应用笔记中提供的应用,需要maxq2000评估板、最小容量为5ma的+200v电源、带两个串行端口的pc(一个用于将应用下载到评估板上,另一个用于maxq应用与pc应用之间的通信)、直通串行电缆、maxq开发工具集(iar嵌入式工作台或crossworks 1.0)。 以及 pc 上的 java™ 运行时环境(包括 commapi 和 blackbox 示例)。
硬件设置
maxq2000评估板应设置为与rts/cts流控制进行串行通信。跳线和 dip 开关设置如下:
将开关 sw3 1-8 设置为关闭位置。
将开关 sw1 1、2、5 和 6 设置为关闭位置,将 sw3、4、7 和 8 设置为打开位置。
将开关 sw6、3 和 8 设置为打开位置,并将静止设置为关闭位置。
这些开关设置将maxq0评估板串行连接器的rts、txd0、rxd2000和cts信号连接到微控制器,使sw4 dpst将微控制器的int11信号拉至地。参见图1。
ju1: connect pins 1 and 2ju2: connect pins 1 and 2ju3: connect pins 1 and 2ju4: openju5: closedju6: closedju7: closedju8: closedju9: closedju10: openju11: closed (the maxq2000 ev kit is powered by a jtag interfaceboard which is powered by a +5v power supply.) 连接maxq2000评估板和pc串行端口之间的串行电缆。
图1.maxq2000评估板的开关设置可实现与rts/cts流控的串行通信。
软件设置
下载演示软件。
安装开发工具集(iar嵌入式工作台用于maxq,crossworks用于maxq)。
下载并安装 java 运行时环境和 java 通信 api。
在 java 通信 api 发行版中运行 blackbox 示例。如果这工作正常,那么您应该能够看到您的主机串行端口。
maxq串行驱动器入门
要开始使用开发工具,请查看两个应用笔记中的任何一个。关于maxq的rowley crossworks,参见应用笔记3698:“rowley crossworks和maxq2000评估板入门”,或者关于maxq的iar嵌入式工作台,参见应用笔记3378:“iar编译器和maxq2000评估板入门”。
在您的 pc 上执行 java blackbox 示例应用程序,并将其配置为 115200 波特、8 个数据位、1 个停止位和无奇偶校验。通过单击所选串行端口的“xmt”复选框来启用 rtc/cts 流控制。黑盒设置如图 2 所示。请注意,rts 和 cts 行为绿色,表示硬件流控制已关闭。
从之前下载的演示软件中,打开相应的项目 (.iar的eww和crossworks的.hzp)。编译应用并下载到maxq评估板。有关将应用程序下载到maxq的详细说明,请参见上述应用笔记。打开maxq评估板的电源,应该可以看到maxq的串行输出打印到blackbox gui上。在输入窗口中输入一些字符,并观察黑盒输出窗口中打印的字符相同。键控字符从pc传输到maxq评估板,然后回显到pc。maxq应用程序报告接收的字节数,该字节数应与发送字节数的blackbox报告相匹配。
向maxq评估板发出停止发送字符的信号
单击黑盒 gui 中的 rts 文本。该事件向评估板发出停止发送字符的信号。请注意,黑盒中的打印停止。再次点击rts文本,使maxq能够发送字符,并看到测试字符串继续更新。
向 pc 发出停止发送字符的信号
按下maxq评估板上的sw4开关。这表示pc(黑盒应用程序)停止发送字符。gui 上的 cts 文本应从绿色变为黑色。在黑盒应用程序中输入一些字符,并查看这些字符未回显。再次按下 sw4 开关,cts 信号将变回绿色。之前键入的字符应回显。
图2.要在电脑上运行的黑盒示例应用程序。
应用概述
文件 sample_serial.c 包含应用程序的主要例程和中断服务例程 (isr),用于处理串行中断和外部中断。固件执行以下操作:
serial_init() 初始化串行驱动程序。
serial_setparameters() 为 115200/8/1/n 配置串行驱动程序。您可以根据应用需求配置这些参数。
配置外部中断 10(int10 连接到 rts 线路)和 11(sw6 #3 打开)。
启用模块 1(外部中断)和模块 2(uart)的中断。
启用全局中断。
通过 serial_read() 和 serial_write() 循环从/写入串行端口。
中断服务例程处理 rts/cts 控制流。(按下sw4按钮可置位或取消置位评估板的rts线路;pc的rts线路停止/重新启动串行传输。
局限性和发展问题
maxq串行驱动器不支持流量控制(软件/硬件)。应用程序负责实现流控制。本应用笔记中提供的示例应用描述了硬件(rts/cts)流控制。
提供的maxq串行驱动器针对maxq2000和16mhz晶体配置进行编译。改变晶体频率将改变驱动器的波特率计算。
maxq串行驱动器内部发送和接收缓冲器的大小在编译时固定为256字节。
结论
iar和rowley associates提供的maxq编译器以及maxim提供的库允许用c语言编写的应用访问maxq器件的电源和功能。maxq系列将使用户能够部署使用maxq uart的应用程序。
高通:7纳米工艺能否实现 电容缩放最具挑战性
飞利浦调查发现中国在数字医疗技术方面居世界领先地位
阿里巴巴AI实验室关闭?官方回应
搭载MediaTek Filogic 830无线连接平台的Redmi路由器AX6000
iphone15pro max参数配置 iphone15pro max预售价多少
如何使用MAXQ串行驱动器开发应用
焜腾红外推出全系列T2SL制冷红外探测器
安富利制造服务SAMA5D3 Xplained开发板简介
HBM需求高涨 三星、SK海力士投资超2万亿韩元积极扩产
IGBT安全工作区的物理概念和超安全工作区工作的失效机理
金立S11S评测 一款辨识度很高的全面屏手机
盛大电子书推新上网方式 可随时切换信号入网
搭配鸿蒙系统的手机会越用越卡吗
区块链最新资讯汇总
Molex提供多领域跨行业工具解决方案
俄亥俄州立大学的研究人员有望突破自动驾驶技术的极限
AI芯片战火蔓延 掀起了一股智能化升级和万物互联的热潮
Imagination 与 3Glasses 携手推动光线追踪技术在VR设备中的应用
深度学习未来发展的三种学习范式
基于dsPIC30F微处理器实现微恒离子流发生器的应用方案