接着来,从课程4开始。
1、与以往不同的是,F5529的ADC模块是ADC12_A,与以往的ADC12不同的是功能更强,具体体现在:开启时间更短、内部参考的温度系数更优、功耗是ADC12的1/6!最后这项比较吊。
2、由于仅有一个中断源,所以在中断服务函数里应该首先进行判断:
switch (__even_in_range(ADC12IV,36))
{
case 0:break ;// No interrupt
case 2:break ;// Overf 低
case 4:break ;// Time overflow
case 6:break ;// ADC12MEM0IFG
case 8:// ADC12MEM1IFG
Disable REF & ADC12 samples;
Read ADC12MEM0 & ADC12MEM1;
Exit active to main( );
break;
case 36:break;
}
3、课程演示了利用DMA核ADC、TIMER配合实现ADC高效工作的例程。可以看到MSP430的ADC没有像M3那样的深度可调的FIFO传输方式,DMA也相对弱一些。但是利用课程给出的ADC工作方式确实要比单独的ADC中断方式要好。需要注意的是DMA工作期间,CPU出于休停状态。
4、在MSP430G2XX3的系列中串行通讯用的是USCI。F5xxx系列也同样是USCI,包括USCI_A和USCIB后者是同步串行通讯的方式,在课程中提到了RX故障抑制,不知道效果如何?
5、端口映射控制器!这个在以往的430器件中是没有的。功能类似于9B96器件中的功能复用引脚一样,可以把模块的引脚自由分配到某个物理引脚上面去。这样做简化的硬件设计,复杂了软件设计。总的来说对于复杂的系统,这样的功能很方便。
6、USB,这个课时专门介绍了单片的USB解决方案,支持CDC\HID\MSC三种方式。相信配合430WARE设计起来会很好方便。TI还提供了BSL接口,可供直接使用。
笔记完...