查看: 1693|回复: 1

[原创] 【IRD-LPC1768-DEV】5串口驱动

[复制链接]
  • TA的每日心情

    5 小时前
  • 签到天数: 2115 天

    [LV.Master]伴坛终老

    56

    主题

    4780

    帖子

    73

    金牌会员

    Rank: 6Rank: 6

    积分
    24819
    最后登录
    2024-4-29
    发表于 2019-3-10 09:12:27 | 显示全部楼层 |阅读模式
    驱动LCD完成后,开始调试串口。
    0001.png
    根据开发板原理图,UART0连接到了P0.2和P0.3这个引脚上了。
    0002.png
    在Keil中创建工程,在RTE配置时选中CMSIS Driver->USART->USART,此次使用CMSIS的UART驱动来编写代码。
    0003.png
    此时添加main函数后编译,出现一个错误,这是因为在RTE配置时没有启用UART功能引起的。
    0004.png
    在工程中找到CMSIS Driver下的UART_LPC17xx.c,编译过后在下面会列出所包含的头文件,其中RTE_Device.h就是RTE配置文件了,双击打开后右侧除了文本编辑区域,还有一个configuration Wizard配置向导,点击后可以使用图形界面配置CMSIS驱动,找到UART0后在后面打钩,下面的引脚选择P0_2和P0_3。
    0005.png
    此时再次编译Keil工程,发现没有错误了,此时就可以对UART0进行编程了。
    0006.png
    首先添加头文件,这里只是使用了UART,所以添加UART_LPC17xx.h。
    0007.png
    定义一个串口事件的回调函数,定义一个串口设备,然后定义接收和发送缓冲区。
    0008.png
    在串口事件回调函数实现中处理接收到的串口数据,这里只是简单的把接收到的数据发送回去。
    0009.png
    在主函数中对定义的串口进行初始化,采用异步通讯,8位无校验,1为停止位,禁用硬件流控制,波特率为115200。
    最后循环发送特定字符串。
    0010.png
    在开发板的UART0上连接USB转串口,上位机打开串口工具,下位机下载程序后重启,在上位机的串口工具中就可以看到下位机发送过来的字符串了。此时在串口工具发送字符串,在接收端可以看到被下位机返回到上位机了。
    0011.png
    总结:CMSIS Driver是Keil公司提供的针对各个MCU的偏上设备的驱动库,结构比较简洁,应用也很方便,个人感觉甚至比MCU原厂的SKD还要易用,而且这个驱动是针对不同MCU通用的。ARM公司也在逐渐完善这个驱动库,现在已经有很多型号的MCU被支持了。


    工程源代码:
    MyUart.zip (252.52 KB, 下载次数: 14)
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    2023-7-4 19:10
  • 签到天数: 92 天

    [LV.6]常住居民II

    15

    主题

    222

    帖子

    23

    高级会员

    Rank: 4

    积分
    640
    最后登录
    2023-8-6
    发表于 2019-3-14 23:37:02 | 显示全部楼层
    不错  我蛮喜欢这个风格  有点c++类调用的感觉 代码量减少了不少
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2024-4-29 14:56 , Processed in 0.122669 second(s), 21 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表