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!欢迎观看!
原文地址:https://www.cnblogs.com/samuelwnb/p/4215791.html