文章摘要
硬件平台: TMS320F28377D
编译器版本: CCS V7.2
寄存器说明:
DACREV:修正寄存器(DAC Revision Register)
bit[15:8] 保留
bit[7:0] 修正值(只读)
这个寄存器基本可以忽略掉了
DACCTL:控制寄存器(DAC Control Register)
bit[15:8] 保留
bit[7:4] SYNCSEL[3:0] 选择PWM同步更新通道(当PWMn同步更新DAC值)
bit[3] 保留
bit[2] LOADMODE, 选择何时将影子寄存器的值更新至当前寄存器
0 - 下一个系统时钟加载; 1 - PWM同步更新(与SYNCSEL[3:0] 配合)
bit[1] 保留
bit[0] 基准选择
0 - VDAC/VSSA(模似电源); 1 - VREFHI/VREFLO(参考引脚)
DACVALA 当前值寄存器(DAC Value Register - Active)
该寄存器的值决定当前DAC输出
void hal_dac_init(void)
{
EALLOW;
DacaRegs.DACCTL.bit.DACREFSEL = REFERENCE; // 基准设置
DacaRegs.DACOUTEN.bit.DACOUTEN = 1; // 使能DAC输出
DacaRegs.DACVALS.all = 0; // 影子寄存器值
DELAY_US(10); // 等待DAC模块上电(重要)
EDIS;
}
后记:
这里主要想吐槽一下某公司,本来当时有两家开发板供选择,经过多方面比较,最终选择了南京某公司的开发板,收货后发现资料并不全,例程是TI官方提供的东西,连例程的文档都没写全,也没有一个功能测试的DEMO。当然了,基于这个芯片比较新,也不跟他们计较了;
后来发现寄过来的串口线居然是坏的,丫的发货前根本都没测试过,跟他们客服说了后,还算行答应补发一根过来;
结果他们还没发货,测试中又发现跑基本的DAC例程居然无输出,本来DAC算是比较简单的一个东西了,折腾了很久还是无果,于是问客户技术的电话,居然死都不跟说,尼玛,技术支持的电话居然也那么机密,直接说不提供技术支持好了,然后一直在旺旺上联系,好吧互联网+时代嘛,我也认了,沟通的结果我觉得是板子有问题,就协商换货,客服也同意了,我就顺便把串口线也一块寄过去了。
他们收到板子的时候,已经是周五了,晚上的时候收到客服的旺旺的信息,说是板子测试没问题,串口线有问题,给我换了串口线,板子又寄回来了,我让他们烧一个可以输入的代码进去,他们说已经寄出了,而且下班了,因为刚揽收嘛,应该是可以把快递要回来的,他们就装死,周六周日果然不上班,也不回信息;
周一早上我就又发信息给他们,他们一直强调说啥都改板子没有任何问题,让我收到板子再说,果然不一会快递就把东西送过来了,我又把例程烧进去,居然有输出了~~~~,这个理由谁也接受不了,你要是说维修或者换货我都可以接受,但尼玛说你啥都没改,同样的代码烧进去就又好,这尼玛不科学啊!
于是客服又改口说,给我换了货,终于给了我一个技术支持的电话,说是他处理的,于是我就打过去问问题,这货特么的又不承认了,一直强调没问题,他啥都没动,尼玛,你家的开发板是打骰子工作的么,一三五工作,二四六休息,还是需要先请你先开个光????什么玩艺嘛~~~~
然后再测试串口线,依然是坏的,再打电话沟通,玛蛋,一直说劳资的方法不对,劳资玩串口的时候,你特么还在穿开档裤呢?各种方法证明给他看,最后告诉我,貌似发错了,把我退回去那个线又寄回来了,心里顿时一万只羊驼呼啸而过......
- 阅读全文 -