USMART移植步骤:
1.将usmart组件添加到工程文件夹下,在选项和组管理即中,配置好头文件路径和组文件。
2.usmart.c主要包含两个函数void usmart_init(u8 sysclk)和void usmart_scan(void),第一个函数里有个条件编译#if USMART_ENTIM2_SCAN==1,这个在usmart.h里设置。这个宏定义初始化定时器2,本实验在定时器2的中断处理函数中执行usmart_dev.scan();进行行usmart扫描,为了便于移植,中断初始化及处理函数写在了usamrt.c里,time.c里面的初始化和终端处理被注释掉了。
3.特别注意:这个组件使用串口发送调试函数,usart.c函数也修改了,我在测试中编译没问题了,但是调试没结果,就是这个函数没有修正过来导致的。
//V1.4修改说明
//1,修改串口初始化IO的bug
//2,修改了USART_RX_STA,使得串口最大接收字节数为2的14次方
//3,增加了USART_REC_LEN,用于定义串口最大允许接收的字节数(不大于2的14次方)
//4,修改了EN_USART1_RX的使能方式
#if EN_USART1_RX //如果使能了接收,在usart.h里定义
//串口1中断服务程序
//注意,读取USARTx->SR能避免莫名其妙的错误
//u8 USART_RX_BUF[64]; //接收缓冲,最大64个字节.
u8 USART_