如题:
使用telink可以使用printf功能,之前我不了解,我一度以为这是uart 实现的printf
在配置的时候,居然配置 uart 对应的gpio接口,后面这个问题坑了一段时间。
其实printf是telink 通过芯片gpio模拟的,可以使用除了uart接口以外的 接口进行模拟
当然如果你想要uart的io应该也是可以的,只是你回少一个uart的使用,不能同时打开
我现在分享配置使用的方法
app_config.h
添加 #define UART_PRINT_DEBUG_ENABLE 1
然后
application /print/putchar.c
添加如下代码
注意使用的gpio口 根据自己硬件适当修改
#define PRINT_BAUD_RATE 115200
#define DEBUG_INFO_TX_PIN GPIO_PB6
#define PULL_WAKEUP_SRC_PB6 PM_PIN_PULLUP_10K
#define PB6_OUTPUT_ENABLE 1
#define PB6_DATA_OUT 1 //must
#ifndef BIT_INTERVAL
#define BIT_INTERVAL (16000000/PRINT_BAUD_RATE)
#endif
_attribute_ram_code_
int uart_putc(char byte) //GPIO simulate uart print func
函数之前添加
然后再main_loop 添加打印信息 我们最熟悉的代码 printf("hello world!");
然后删除之前的文件,重新编译生成,应该就可以打印了
这里特别注意强调信息:任何编译修改头文件配置的都需要删除之前文件重新生成。