zoukankan      html  css  js  c++  java
  • CC2530串口工作

    前言

    嘿嘿,我只是写给我自己的一篇博客,今天研究了一天的CC2530,感觉好累,虽然是已经落伍的技术了,但是我觉得不要小看它,还是能够学到点东西的,随着学习的深入,渐渐感觉有点突破的苗头了!哈哈

    CC2530的串口设置

    首先,看到的是HAL层,也就是硬件层,Target底下的是hal_uart.c,这就是串口的底层文件。不过不要着急,这些都是不需要太过关心,只要记住一个API就行了!

    uint16 HalUARTWrite(uint8 port, uint8 *buf, uint16 len)

    port 端口

    buf 数据

    len 数据长度

    因为我们有MT层,那么MT_UART.C就是我们最重要的串口配置文件!
    在其中我们可以找到MT_UartInit():

    /* UART Configuration */
      uartConfig.configured           = TRUE;
      uartConfig.baudRate             = MT_UART_DEFAULT_BAUDRATE;//波特率设置
      uartConfig.flowControl          = MT_UART_DEFAULT_OVERFLOW;//数据流控
      uartConfig.flowControlThreshold = MT_UART_DEFAULT_THRESHOLD;
      uartConfig.rx.maxBufSize        = MT_UART_DEFAULT_MAX_RX_BUFF;
      uartConfig.tx.maxBufSize        = MT_UART_DEFAULT_MAX_TX_BUFF;
      uartConfig.idleTimeout          = MT_UART_DEFAULT_IDLE_TIMEOUT;
      uartConfig.intEnable            = TRUE;
    

    那么在MT_uart.h中,可以对串口进行相应的配置

    	#if !defined( MT_UART_DEFAULT_OVERFLOW )
    	#define MT_UART_DEFAULT_OVERFLOW       FALSE//TRUE数据流控
    	#endif
    	#if !defined MT_UART_DEFAULT_BAUDRATE
    	#define MT_UART_DEFAULT_BAUDRATE  HAL_UART_BR_115200//HAL_UART_BR_38400
    	#endif
    

    CC2530的网段分析

    在TOOL层下的f8wConfig.cfg,可以看到

    /* Define the default PAN ID.
     *
     * Setting this to a value other than 0xFFFF causes
     * ZDO_COORD to use this value as its PAN ID and
     * Routers and end devices to join PAN with this ID
     */
    -DZDAPP_CONFIG_PAN_ID=0xFFF0//作为网段进行修改原来就是0xffff
    

    如何实现z-stack的串口

    首先在APP层的SampleApp.c找到SampleApp_Init()。

      SampleApp_TaskID = task_id;
      SampleApp_NwkState = DEV_INIT;
      SampleApp_TransID = 0;
      MT_UartInit ();//如上所说的MT串口初始化
      MT_UartRegisterTaskID(task_id);//挂载ID
    

    那么我们可以使用HalUARTWrite()这个函数了,哈哈

    HalUARTWrite(0,"hello ",6);

    好了,那么现在我们就可以使用串口了!

    如何去除LCD在串口中的显示

    我今天搞这个搞的很烦,因为不知道它直接为什么,又不在代码中实现,于是就悲剧了,调了好久才摸到原来可以直接在option里面把它屏蔽了!

    iar - project - option - c/c++compiler - preprocessor 里面把MT层中的LCD全部干掉就是了!

    xMT_TASK
    xMT_SYS_FUNC
    xMT_ZDO_FUNC
    xLCD_SUPPORTED=DEBUG```
    
    最后我也在我的github上共享了我写的demo!欢迎观看!
  • 相关阅读:
    JS笔记之第七天
    JS笔记之第六天
    JS笔记之第五天
    JS笔记之第四天
    JS笔记之第三天
    JS笔记之第二天
    JS笔记之第一天
    PHP文件上传
    bit、Byte、bps、Bps、pps、Gbps的单位的说明及换算
    Redis初级安装及使用
  • 原文地址:https://www.cnblogs.com/samuelwnb/p/4215791.html
Copyright © 2011-2022 走看看