对于处理器的库函数中这种带x字母的宏定义 我该怎么去使用呢?

2019-07-20 04:36发布

金钱#define LPUART_FIFO_RXFIFOSIZE_MASK              (0x7U)
#define LPUART_FIFO_RXFIFOSIZE_SHIFT             (0U)
#define LPUART_FIFO_RXFIFOSIZE(x)                (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_RXFIFOSIZE_SHIFT)) & LPUART_FIFO_RXFIFOSIZE_MASK)
#define LPUART_FIFO_RXFE_MASK                    (0x8U)
#define LPUART_FIFO_RXFE_SHIFT                   (3U)
#define LPUART_FIFO_RXFE(x)                      (((uint32_t)(((uint32_t)(x)) << LPUART_FIFO_RXFE_SHIFT)) & LPUART_FIFO_RXFE_MASK)

我要修改串口fifo的缓存区长度
比如说第三行和第六行  感觉和定义FIFOBUFFER的深度有关,但是该怎么声明才可以正确定义呢,试过好几次了,都没定义成功。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
szczyb1314
1楼-- · 2019-07-20 10:35
践行 发表于 2018-12-13 11:16
先谢谢啊!
#define LPUART_FIFO_RXFIFOSIZE(x)                (((uint32_t)(((uint32_t)(x))

把它当做带参数的函数调用下即可啊,你要设置x=4就LPUART_FIFO_RXFIFOSIZE(4);你要设置x=8就LPUART_FIFO_RXFIFOSIZE(8);
不要改宏定义啊,就当带参数的函数void LPUART_FIFO_RXFIFOSIZE(u8 x);然后需要时调用下即可
szczyb1314
2楼-- · 2019-07-20 14:02
直接用啊,就是跟带参数的函数一样啊
LPUART_FIFO_RXFIFOSIZE(4);

践行
3楼-- · 2019-07-20 15:52
 精彩回答 2  元偷偷看……
践行
4楼-- · 2019-07-20 20:49
szczyb1314 发表于 2018-12-13 11:18
把它当做带参数的函数调用下即可啊,你要设置x=4就LPUART_FIFO_RXFIFOSIZE(4);你要设置x=8就LPUART_FIFO ...

好的 我试试  谢谢啦
践行
5楼-- · 2019-07-21 01:59
 精彩回答 2  元偷偷看……
szczyb1314
6楼-- · 2019-07-21 03:35
 精彩回答 2  元偷偷看……

一周热门 更多>