一站式电子元器件采购平台

华强商城公众号

一站式电子元器件采购平台

元器件移动商城,随时随地采购

华强商城M站

元器件移动商城,随时随地采购

半导体行业观察第一站!

芯八哥公众号

半导体行业观察第一站!

专注电子产业链,坚持深度原创

华强微电子公众号

专注电子产业链,
坚持深度原创

电子元器件原材料采购信息平台

华强电子网公众号

电子元器件原材料采购
信息平台

如何使用MAXQ 串行驱动程序开发应用程序

来源:analog 发布时间:2024-05-20

摘要: MAXQ串行驱动程序允许开发利用MAXQ UART外设的应用程序。串行驱动程序可用于“IAR Embedded workbench for MAXQ”和“Cross Works for MAXQ”这两个集成开发环境,用于使用C语言和汇编语言开发应用程序。

应用笔记演示了如何配置MAXQ2000微控制器EV套件和MAXQ串行通信开发环境。C语言的示例代码演示了MAXQ串行驱动程序的使用和限制,以及如何使用MAXQ串行驱动程序实现RTS/CTS流量控制。

介绍

本应用笔记描述了如何使用MAXQ2000微控制器评估(EV)套件上的MAXQ串行驱动程序库开发应用程序。MAXQ串行驱动程序可用于IAR Embedded Workbench for MAXQ和Rowley Associates的CrossWorks for MAXQ,这是两种使用C语言和汇编语言的MAXQ应用程序集成开发和调试环境。C中的示例代码演示了MAXQ串行驱动程序的使用和限制,以及如何使用MAXQ串行驱动程序实现RTS/CTS流量控制。

MAXQ串行驱动概述

MAXQ串行驱动程序提供了一组C函数,使用户能够配置MAXQ UART进行串行通信。这些函数列在源文件中,maxq_serial.h,在MAXQ2000 EV套件中提供。

MAXQ串行驱动程序提供以下特性。

  1. 偶,奇,非奇偶。

  2. 分离发送和接收内部缓冲区。这些缓冲区的大小在编译时定义。

  3. 非阻塞serial_writeserial_read例程。

  4. 一个serial_isr  函数,该函数应作为中断处理程序的一部分被用户应用程序调用。它按“每个配置”计算奇偶校验,并在串行线上发送/接收数据。

  5. 在应用程序级别支持流控制。这个函数serial_stopTx  停止串行数据的传输,和serial_restartTx  重启串口传输。

MAXQ2000串行驱动程序的源代码可在这里获得。通过修改以下几个配置参数,可以将驱动程序移植到其他MAXQ设备。

  1. maxq_config.h包含编译器特定的配置参数。修改文件中的以下行以适应您的设备和编译器:

    //用户可配置的选项
    #define COMPILER_IAR
    #define DEVICE_MAXQ2000

    以上两行指定将为IAR和MAXQ2000编译驱动程序。为了编译MAXQ的CrossWorks驱动程序,修改以下行:

    //用户可配置的选项
    #define COMPILER_ROWLEY
    #define DEVICE_MAXQ2000
  2. 上面的两行代码允许用户为IAR或CrossWorks工具链包含特定于设备的文件。maxq_serial.h包含驱动特定的配置参数:驱动缓冲区大小,串口编号,晶体频率在Hz。更改以下代码以更改驱动程序缓冲区大小:

    #define RX_RNG_SIZE 256
    #define TX_RNG_SIZE 256

    修改以下代码,指定需要配置驱动程序的串口(SERIAL_PORT0表示串口0,SERIAL_PORT1表示串口1):

    //指定使用的串行端口
    #define SERIAL_PORT0

    修改以下代码以更改EV套件使用的水晶时钟。MAXQ2000 EV套件使用16MHz晶体:

    #define XTAL_CLK 16000000 // 16,000,000Hz

硬件和软件要求

运行应用程序提供在这个应用程序中,您需要一个MAXQ2000评估板,+ 5 v电源最小200 ma的能力,电脑有两个串行端口(一个用于downlo ng应用到评估板,和其他MAXQ应用程序之间的通信和计算机应用程序),直通串行电缆,MAXQ开发工具集(IAR嵌入式工作台或CrossWorks 1.0),在你的电脑和Java 运行时环境(包括commApi和黑箱的例子)。

硬件设置

MAXQ2000 EV套件应设置为与RTS/CTS流量控制串行通信。跳线和拨码开关设置如下:

  1. 设置交换机sw31 1-8为的位置。

  2. 设置交换机SW1 1、2、5、6的位置位置和SW3、4、7、8到的位置。

  3. 设置交换机SW6、3、8的位置位置,休息到的位置。

    这些开关设置将MAXQ2000 EV套件串行连接器的RTS, TXD0, RXD0和CTS信号连接到微控制器,并使SW4 DPST将微控制器的INT11信号拉到地。看到图1

    JU1:连接插脚1和2 JU2:连接插脚1和2 JU3:连接插脚1和2 JU4:开放JU5:关闭JU6:关闭JU7:关闭JU8:关闭JU9:关闭JU10:开放JU11:关闭(MAXQ2000评估板是由一个JTAG接口板是由一个+ 5 v电源。)
  4. 连接MAXQ2000 EV套件和PC串口之间的串口线。


    图1所示。MAXQ2000 EV套件的开关设置可以与RTS/CTS流量控制进行串行通信。

软件设置

  1. 下载演示软件。

  2. 安装开发工具集(用于MAXQ的IAR嵌入式工作台,用于MAXQ的CrossWorks)。

  3. 下载并安装Java运行时环境和Java通信API。

  4. 在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流量控制。BlackBox的设置见图2. 注意,RTS和CTS线是绿色的,表示硬件流控制处于关闭状态。

从前面下载的演示软件中,打开相应的项目(。IAR为EWW, CrossWorks为。hzp)。编译应用程序并将其下载到MAXQ EV套件中。有关将长应用程序下载到MAXQ的详细说明,请参阅上面提到的应用程序说明。打开MAXQ EV套件的电源,您应该看到MAXQ的串行输出打印到BlackBox GUI上。在输入窗口中输入一些字符,并观察在BlackBox输出窗口中打印相同的字符。关键字符从PC传输到MAXQ EV套件,并依次响应回PC。MAXQ应用程序报告接收到的字节数,它应该与BlackBox报告发送的字节数相匹配。

信号MAXQ EV套件停止发送字符

点击BlackBox GUI中的RTS文本。此事件向EV套件发出停止传输字符的信号。注意,黑盒中的打印停止了。再次单击RTS文本以启用MAXQ发送字符,并看到测试字符串继续更新。

向PC发送停止发送字符的信号

按下MAXQ EV套件上的SW4开关。这向PC (BlackBox应用程序)发出停止发送字符的信号。GUI上的CTS文本应该从绿色变为黑色。在BlackBox应用程序中输入一些字符,看到这些字符没有回显。再次按下SW4开关,CTS信号变回绿色。之前输入的字符应该回显。


图2。要在PC上运行的BlackBox示例应用程序。

应用程序概述

该文件sample_serial.c包含应用程序的主例程和中断服务例程(ISR),用于服务串行中断和外部中断。固件的功能如下:

  1. serial_init  初始化串口驱动程序。

  2. serial_setparameters  为115200/8/1/N配置串口驱动。您可以根据应用程序的需要配置这些参数。

  3. 配置外部中断10 (Int10连接到RTS线路)和11 (SW6 #3是ON)。

  4. 为模块1(外部中断)和模块2 (UART)启用中断。

  5. 启用全局中断。

  6. 通过循环从串行端口读写serial_readserial_write().

  7. 中断服务程序处理RTS/CTS控制流。(按SW4按钮从EV套件中确定或取消RTS线路;来自PC的RTS线停止/重新启动串行传输。)

限制和发展问题

  1. MAXQ串行驱动程序不支持流量控制(软件/硬件)。实现流控制是应用程序的责任。本应用程序说明中提供的示例应用程序描述了硬件(RTS/CTS)流控制。

  2. 提供的MAXQ串行驱动程序是为MAXQ2000和16MHz晶体配置编译的。改变晶体频率将改变驱动的波特率计算。

  3. MAXQ串行驱动程序内部发送和接收缓冲区的大小在编译时固定为256字节。

结论

由IAR和Rowley Associates提供的MAXQ编译器和Maxim提供的库允许用C编写的应用程序访问MAXQ设备的功能和功能。MAXQ系列将使用户能够部署使用MAXQ UART的应用程序。

声明:本文观点仅代表作者本人,不代表华强商城的观点和立场。如有侵权或者其他问题,请联系本站修改或删除。

社群二维码

关注“华强商城“微信公众号

调查问卷

请问您是:

您希望看到什么内容: