博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CC2640R2F&TI-RTOS 拿到 TI CC2640R2F 开发板 第一件事就是移植串口驱动,重定向 printf...
阅读量:6740 次
发布时间:2019-06-25

本文共 2492 字,大约阅读时间需要 8 分钟。

/* * board_uart.c * *  Created on: 2018年7月3日 *      Author: admin */#include "board_uart.h"#include "board.h"#include 
#include
#include
#include
#include
#define UART0_RECEICE_BUFF_SIZE 64static UART_Handle uart0BoardHandle;static uint8_t uart0ReceiveBuff[UART0_RECEICE_BUFF_SIZE];static char debugVsprintfBuff[256] = {
0};void bspDebugPrintf( uint32_t enableFlag, char *str, ... ){
/* 打印调试函数,数据发给串口0,2018年7月2日19:07:33 */ va_list argptr; uint32_t len=0; if( enableFlag != true ) return; if(strlen(str) > 128) return; va_start(argptr, str); len = vsprintf(debugVsprintfBuff, str, argptr); va_end(argptr); UART_write(uart0BoardHandle, debugVsprintfBuff, len);}void uart0BoardReciveCallback(UART_Handle handle, void *buf, size_t count){
/* 串口0接收回调函数,2018年7月3日15:16:30,115200bps */ bspDebugPrintf( true,"uart0 Recive len:%u,data:%s.\r\n", count, buf ); //设定接收缓冲区,并开始接收数据 UART_read( uart0BoardHandle, uart0ReceiveBuff, UART0_RECEICE_BUFF_SIZE );}void uart0BoardInit( void ){
/* 初始化串口0,2018年7月2日19:07:33,115200bps */ UART_Params uart0BoardParams; //板载串口0初始化,包括时钟引脚初始化 Board_initUART(); /* Create a UART with data processing off. */ UART_Params_init(&uart0BoardParams);/* 串口各项参数先设置为默认值 */ uart0BoardParams.baudRate = 115200; uart0BoardParams.readEcho = UART_ECHO_OFF; uart0BoardParams.writeDataMode = UART_DATA_BINARY; uart0BoardParams.readDataMode = UART_DATA_BINARY; uart0BoardParams.readMode = UART_MODE_CALLBACK; uart0BoardParams.readCallback = uart0BoardReciveCallback; uart0BoardHandle = UART_open(Board_UART0, &uart0BoardParams); if (uart0BoardHandle == NULL) { /* UART_open() failed */ while (1); } else { //使能串口空闲接收中断,即串口接收空闲,进入接收回调函数 UART_control( uart0BoardHandle, UARTCC26XX_CMD_RETURN_PARTIAL_ENABLE, NULL ); //设定接收缓冲区,并开始接收数据 UART_read( uart0BoardHandle, uart0ReceiveBuff, UART0_RECEICE_BUFF_SIZE ); bspDebugPrintf( true,"uart0 Board Init end.\r\n" ); }}
/* * board_uart.h * *  Created on: 2018年7月3日 *      Author: admin */#ifndef APPLICATION_BOARD_UART_H_#define APPLICATION_BOARD_UART_H_#include 
void bspDebugPrintf( uint32_t enableFlag, char *str, ... );void uart0BoardInit( void );#endif /* APPLICATION_BOARD_UART_H_ */

转载于:https://www.cnblogs.com/suozhang/p/9268464.html

你可能感兴趣的文章
UPW学习资料整理 .NET C# 转
查看>>
Oracle12c中新建用户
查看>>
分布式编译工具
查看>>
对我而言晦涩的递归
查看>>
React Native 从入门到原理
查看>>
iOS如何随意的穿插跳跃,push来pop去
查看>>
使用maven编译Java项目 http://www.tuicool.com/articles/YfIfIrq
查看>>
Strut2中的session和servlet中的session的区别
查看>>
自定义adapter实现listview双列显示
查看>>
MyBatis——实现关联表查询
查看>>
struts2的MVC模式
查看>>
cocos2d-x JS 复选按钮checkBox的单选与多选
查看>>
表格花式效果
查看>>
Thrift 基于zookeeper改造模式
查看>>
rsync与cwRsync
查看>>
图像的形态学处理
查看>>
VC++使用IMAPI调用Outlook邮箱客户端和Foxmail邮箱客户端遇到的问题
查看>>
Python字符编码以及循环机制介绍
查看>>
【原创】JDK动态代理,此次之后,永生难忘。
查看>>
collection的框架结构
查看>>