永发信息网

if(ValBit(Cmd,n)==0) //MCU从命令字节的最高位开始发送数据到DIN管脚

答案:2  悬赏:40  手机版
解决时间 2021-02-22 08:55
  • 提问者网友:战魂
  • 2021-02-22 04:37
if(ValBit(Cmd,n)==0) //MCU从命令字节的最高位开始发送数据到DIN管脚
GPIO_WriteLow(SPI_PORT,SPI_DIN);
else
GPIO_WriteHigh(SPI_PORT,SPI_DIN);

(Cmd,n)不是逗号运算符么,MCU从命令字节的最高位开始发送数据到DIN管脚?
最佳答案
  • 五星知识达人网友:白昼之月
  • 2021-02-22 05:08
valbit()是一个宏定义:#define ValBit(VAR,Place) (VAR & (1< 作用是判断VAR的第n位(从低往高)是0还是1.
你给出的程序段的含义是:如果Cmd的第n位为0,则将DIN置为低电平,否则将DIN置为高电平。这是计量芯片的读写例程程序,程序的上一级应该是一个for循环。作用就是将Cmd的内容由MCU发送到计量芯片(SPI_DIN)。
(第一次回答问题,纯手打,希望满意)
全部回答
  • 1楼网友:末日狂欢
  • 2021-02-22 06:03
不明白啊 = =!
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯