查看: 3663|回复: 8

[原创] 【FRDM-K64F使用笔记】之串口3自动收发(上一贴基础上的更...

[复制链接]
  • TA的每日心情
    开心
    2019-7-11 19:28
  • 签到天数: 141 天

    连续签到: 1 天

    [LV.7]常住居民III

    34

    主题

    1067

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2492
    最后登录
    2020-9-16
    发表于 2015-11-18 00:55:25 | 显示全部楼层 |阅读模式
    一,采用 KSDK_1.3.0库,使用IAR(keil上的源码是兼容的,我是同时使用的,不习惯用iar,只有在编译和仿真时用
    二,对 C:\Freescale\KSDK_1.3.0\examples\frdmk64f\driver_examples\uart\uart_blocking下的工程进行改进,目地为了以后做AT指令的收发(串口1要转到电脑上)串口3正好板子上的J1上有 这c16 c17.
    三,源码更改,
    1,  串口号从0变成3,这里重新定义一个  BOARD_DEBUG_UART_INSTANCE3
       #define BOARD_DEBUG_UART_INSTANCE3   3 ,我也在 board.h里定义的,
    2,脚位定义,先开启PC16,PC17的时钟,如果不加会异常, CLOCK_SYS_EnablePortClock(PORTC_IDX);  
    PC16,PC17定义成串口
    configure_uart_pins(BOARD_DEBUG_UART_INSTANCE3);
    3,重新写一个函数专门定义串口

    1. void  com_init()
    2. { uint32_t byteCountBuff = 0;
    3.      //串口定义
    4.     uart_user_config_t  uartConfig = {
    5.         .bitCountPerChar = kUart8BitsPerChar,//8Bit
    6.         .parityMode      = kUartParityDisabled, //校验位
    7.         .stopBitCount    = kUartOneStopBit,//停止位
    8.         .baudRate        = BOARD_DEBUG_UART_BAUD//波特率
    9.     };
    10.    
    11.     CLOCK_SYS_EnablePortClock(PORTC_IDX);   
    12.     //串口的IO定义,3就是第二个口       
    13.     configure_uart_pins(BOARD_DEBUG_UART_INSTANCE3);   
    14.      //串口处理
    15.    UART_DRV_Init(BOARD_DEBUG_UART_INSTANCE3, &uartState, &uartConfig);   
    16.     //设置自动接收 的数组和最大长度
    17.    UART_DRV_ReceiveData(BOARD_DEBUG_UART_INSTANCE3, buffer_rece, received_size);
    18. }
    复制代码

    1. int main(void)
    2. {
    3.   //  uint8_t rxChar = 0;
    4.    uint32_t byteCountBuff = 0;

    5. //   uart_state_t uartState;
    6.   //串口定义
    7.    /* uart_user_config_t  uartConfig = {
    8.         .bitCountPerChar = kUart8BitsPerChar,//8Bit
    9.         .parityMode      = kUartParityDisabled, //校验位
    10.         .stopBitCount    = kUartOneStopBit,//停止位
    11.         .baudRate        = BOARD_DEBUG_UART_BAUD//波特率
    12.     };*/

    13.     // Enable clock for PORTs, setup board clock source, config pin
    14.          //  IO 控制 ,包括时钟
    15.     hardware_init();

    16.     // Call OSA_Init to setup LP Timer for timeout
    17.     OSA_Init();

    18.      com_init();
    19.       // Inform to start blocking example
    20.     byteCountBuff = sizeof(buffStart);//得到一个数组的内容长度
    21.   //发送指定数组 buffStart,长为内容长度,BOARD_DEBUG_UART_INSTANCE 为是哪个串口号
    22.     UART_DRV_SendDataBlocking(BOARD_DEBUG_UART_INSTANCE3, buffStart, byteCountBuff, 1000u);
    23.     Delay(200);
    24.     // Inform user of what to do
    25.     byteCountBuff = sizeof(bufferData1);
    26.     UART_DRV_SendDataBlocking(BOARD_DEBUG_UART_INSTANCE3, bufferData1, byteCountBuff, 1000u);
    27.    
    28.      
    29.     // Send/receive blocking function
    30.     while(true)
    31.     {
    32.        UART_DRV_GetReceiveStatus(BOARD_DEBUG_UART_INSTANCE3,&received_CountBuff );
    33.          if(received_CountBuff>0&&received_CountBuff!=received_size)
    34.          {
    35.            Delay(200);
    36.              UART_DRV_SendDataBlocking(BOARD_DEBUG_UART_INSTANCE3, bufferData1, byteCountBuff, 1000u);
    37.              Delay(200);
    38.              uartState.isRxBusy=0;
    39.              //重新给长度
    40.            //  uartState.rxSize=received_size;
    41.              //重新初始化接收内容
    42.             UART_DRV_ReceiveData(BOARD_DEBUG_UART_INSTANCE3, buffer_rece, received_size);
    43.          
    44.          }
    45.       
    46.     }
    47. }
    复制代码
    123.png


    评分

    参与人数 1NXP金币 +15 收起 理由
    小七 + 15 赞一个!

    查看全部评分

    哎...今天够累的,签到来了~
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2017-5-3 11:19
  • 签到天数: 10 天

    连续签到: 1 天

    [LV.3]偶尔看看II

    50

    主题

    1万

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    14090
    最后登录
    2024-4-19
    发表于 2015-11-18 09:10:08 | 显示全部楼层
    谢谢分享。。。 blank.png blank1.png blank2.png blank3.png blank4.png blank5.png blank6.png blank7.png blank8.png blank9.png
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-1-24 09:50
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

    654

    主题

    3262

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    13211
    最后登录
    2019-1-27
    发表于 2015-11-18 10:08:35 | 显示全部楼层
    支持楼主!
    回复

    使用道具 举报

    该用户从未签到

    2

    主题

    65

    帖子

    0

    注册会员

    Rank: 2

    积分
    153
    最后登录
    1970-1-1
    发表于 2015-11-18 10:18:09 | 显示全部楼层
    学习下,顶一个
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2024-1-6 07:38
  • 签到天数: 736 天

    连续签到: 1 天

    [LV.9]以坛为家II

    21

    主题

    3486

    帖子

    6

    金牌会员

    Rank: 6Rank: 6

    积分
    5093
    最后登录
    2024-1-7
    发表于 2015-11-18 11:44:22 | 显示全部楼层
    谢谢分享
    该会员没有填写今日想说内容.
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2018-1-30 19:52
  • 签到天数: 19 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    19

    主题

    628

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1514
    最后登录
    2018-5-28
    发表于 2015-11-19 22:02:37 | 显示全部楼层
    学习学习
    该会员没有填写今日想说内容.
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2024-1-6 07:38
  • 签到天数: 736 天

    连续签到: 1 天

    [LV.9]以坛为家II

    21

    主题

    3486

    帖子

    6

    金牌会员

    Rank: 6Rank: 6

    积分
    5093
    最后登录
    2024-1-7
    发表于 2015-11-22 20:19:17 | 显示全部楼层
    谢谢分享
    该会员没有填写今日想说内容.
    回复

    使用道具 举报

    该用户从未签到

    9

    主题

    642

    帖子

    0

    高级会员

    Rank: 4

    积分
    748
    最后登录
    1970-1-1
    发表于 2015-11-23 10:56:15 | 显示全部楼层
    感谢分享
    104930kli5jsmlssemljli.png
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    2016-12-4 23:20
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    9

    主题

    573

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    1785
    最后登录
    2017-3-3
    发表于 2015-11-25 21:19:05 | 显示全部楼层
    谢谢分享 091541cr1iu0jkaf0zjmqc.png

    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

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

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

    GMT+8, 2025-8-21 03:13 , Processed in 0.104832 second(s), 29 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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