标题: 单片机C语言中小白问题,位域 求告知,先谢谢 [打印本页]

作者: 永恒动力    时间: 2021-3-30 10:00
标题: 单片机C语言中小白问题,位域 求告知,先谢谢
利用D/A 输出三角波信号 /*D/A 控制寄存器*/
typedef union
{
    uint32 data;
    struct
    {
        uint32          :6;
        uint32  value:10;
        uint32 bias   :1;
   }field;
}reg_da_cr;
   问题:请大神解释下上面代码位域,是什么意思?
            一共才设置了17位,还有的15位,干什么用了 ?

/* p0.25 置为DA输出*/
  PINSEL1=OX00080000
  问题:PINSEL1 置第19位为输出,怎么会是p0.25了 ?
还请大神告知,谢谢!

作者: ANT1987    时间: 2021-3-31 09:56
这是啥单片机 32位机
作者: 永恒动力    时间: 2021-3-31 10:13
ANT1987 发表于 2021-3-31 09:56
这是啥单片机 32位机

对,LPC2138
作者: munuc_w    时间: 2021-4-1 08:41
第一个区域存6位,第二个区域存10位,第三个区域存1位,其余的没有使用,可以留作后续扩展用。C语言里讲的很清楚。
作者: 永恒动力    时间: 2021-4-2 09:05
munuc_w 发表于 2021-4-1 08:41
第一个区域存6位,第二个区域存10位,第三个区域存1位,其余的没有使用,可以留作后续扩展用。C语言里讲的 ...

位域我知道,但是在D/A 输出中,6位 10位  1位,有啥作用?
value 是设置的新值吗?bias 又有啥作用,求大神告知,谢谢




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1