加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
simu_uart.h 2.13 KB
一键复制 编辑 原始数据 按行查看 历史
Jayden Kong 提交于 2022-01-02 20:50 . 提交源代码
#ifndef _SIMU_UART_H
#define _SIMU_UART_H
/*
___ _______ _______ ___________________
| | | : : : | | : |
| start | bit 0 | bit 1 : bit 2 : bit 3 : bit 4 | bit 5 | bit 6 : bit 7 | stop
|_______| |_______:_______:_______:_______| |_______:_______|
*/
/*
readme: 8bit,no parity,1 stopbit
*/
#define TimerClkFrequency (48000000) //
#define GPIOUartRxBufferSize (128)
#if (GPIOUartRxBufferSize&(GPIOUartRxBufferSize-1))
#warning [GPIOUartRxBufferSize] SHOULD BE POWER OF 2 FOR OPTIMISING
#endif
#if (GPIOUartRxBufferSize>256)
#error [GPIOUartRxBufferSize] SHOULD <= 256
#endif
#define GPIOUartRxReadPin() {} //Rx 读取GPIO电平
#define GPIOUartRxIoIrqSet() {} //RX GPIO口外部中断设置
#define GPIOUartRxIoIrqDisable() {} //RX GPIO口外部中断禁用
#define GPIOUartRxIoIrqEnable() {} //RX GPIO口外部中断使能
#define GPIOUartRxTimerIrqEnable(t) {} //Rx 定时器使能
#define GPIOUartRxTimerIrqAdjust(t) {} //Rx 定时器(采样时间调整)
#define GPIOUartRxTimerIrqDisable() {} //Rx 定时器禁用
#define GPIOUartTxIoInit() {} //TX GPIO口初始化 输出模式,缺省高电平输出
#define GPIOUartTxTimerInit(t) {} //TX 定时器初始化设置
#define GPIOUartTxTimerEnable() {} //使能TX定时器
#define GPIOUartTxTimerDisable() {} //禁用TX定时器
#define GPIOUartTxSetIoHigh() {} //TX口输出高电平
#define GPIOUartTxSetIoLow() {} //TX口输出低电平
enum UART_STATE
{
UART_IDLE = 0,
UART_START,
UART_TRANSFERRING,
UART_PARITY,
UART_STOPn
};
/// parity mode
enum GPIO_UART_PARITY_MODE
{
GPIO_UART_PARITY_MODE_NONE = 0,
GPIO_UART_PARITY_MODE_ODD,
GPIO_UART_PARITY_MODE_EVEN
};
void GPIOUartRxInit(int bandrate);
int GPIOUartRxBufferRead(unsigned char *);
void GPIOUartTxInit(int bandrate);
void GPIOUartTxSend(unsigned char data);
#endif
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化