查看: 3929|回复: 0

[原创] [IRD-LPC1768-DEV] 篇五 UART串口通讯

[复制链接]
  • TA的每日心情
    开心
    2019-3-5 08:47
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    110

    主题

    3404

    帖子

    2

    金牌会员

    Rank: 6Rank: 6

    积分
    9004
    最后登录
    2025-7-20
    发表于 2019-3-4 18:40:17 | 显示全部楼层 |阅读模式
          串口通讯比较简单,以前使用过,现在重新测试写一写。查看数据手册,配置功率,引脚,初始化,中断等基本配置就是这样。串口在调试项目涉及到数据的时候使用的比较多。该款芯片有四个串口,从使用手册上看,UART1被分开了,其基本功能都是一样的,只是增加了Modem接口和RS486模式,可以参照使用手册,选择自己想使用的功能。本次使用UART0,方便。
          主要参考代码:

    1. void UART_Configuration(void)
    2. {
    3.         // UART Configuration structure variable
    4.         UART_CFG_Type UARTConfigStruct;
    5.         // UART FIFO configuration Struct variable
    6.         UART_FIFO_CFG_Type UARTFIFOConfigStruct;
    7.        
    8.         UART_ConfigStructInit (&UARTConfigStruct );
    9.         UART_Init(LPC_UART0,&UARTConfigStruct);
    10.         /* Initialize FIFOConfigStruct to default state:
    11.          *                                 - FIFO_DMAMode = DISABLE
    12.          *                                 - FIFO_Level = UART_FIFO_TRGLEV0
    13.          *                                 - FIFO_ResetRxBuf = ENABLE
    14.          *                                 - FIFO_ResetTxBuf = ENABLE
    15.          *                                 - FIFO_State = ENABLE
    16.          */
    17.         UART_FIFOConfigStructInit(&UARTFIFOConfigStruct);

    18.         // Initialize FIFO for UART0 peripheral
    19.         UART_FIFOConfig(LPC_UART0, &UARTFIFOConfigStruct);


    20.         // Enable UART Transmit
    21.         UART_TxCmd(LPC_UART0, ENABLE);
    22.   
    23.          /* Enable UART Rx interrupt */
    24.         UART_IntConfig(LPC_UART0, UART_INTCFG_RBR, ENABLE);
    25.        
    26.         NVIC_SetPriority(UART0_IRQn, ((0x01<<3)|0x01));
    27.         /* Enable Interrupt for UART0 channel */
    28.   NVIC_EnableIRQ(UART0_IRQn);
    29. }
    30. void UART0_IRQHandler(void)
    31. {
    32. //        UART0_StdIntHandler();
    33.         NVIC_ClearPendingIRQ (UART0_IRQn );
    34. //        Rbuf = UART_ReceiveData (LPC_UART0);
    35.         UART_Receive(LPC_UART0,Rbuf,2,BLOCKING);
    36.        
    37. }
    38. void GPIO_Configuration(void)
    39. {
    40.         PINSEL_CFG_Type PinCfg;
    41.        
    42.         PinCfg .Funcnum =1;
    43.         PinCfg .OpenDrain =0;
    44.         PinCfg .Pinmode =0;
    45.         PinCfg .Pinnum =2;
    46.         PinCfg .Portnum =0;
    47.         PINSEL_ConfigPin (&PinCfg );
    48.         PinCfg .Pinnum =3;
    49.         PINSEL_ConfigPin (&PinCfg );
    50. }
    复制代码

          原理图及连接图如图1:

          发送和接收如图2和图3:

    图1

    图1

    图2

    图2

    图3

    图3
    加油哦
    回复

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-7-20 23:25 , Processed in 0.080566 second(s), 20 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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