【原创】飞思卡尔dsc mc56f8316初入门
0赞
发表于 2012/7/9 8:58:47
阅读(3253)
DSC是飞思卡尔的数字信号控制器的简称,是飞思卡尔推出的专门面向工业控制,电机控制,电力电子等方面应用的高性能低成本芯片,mc56f8346是其中一款性能较为强劲的芯片,拿他来做智能车,不仅有丰富的通信接口,更重要的是有专门的pwm模块,可以生产复杂的pwm波形,而且内置乘法器,运算性能大大提高,可以实现复杂程序算法。
实验板用的是飞思卡尔MC56F8346EVM。
第一步:建立一个新的工程,处理器选择mc56f8346;
第二步:添加程序所需模块,行场中断,二值化信号输入;
剩下的是pwm以及一些运算函数;
第三步:设置各模块参数:
第四步:移植程序:
由于二值化被硬件做好了,所以直接采点就可以。为了节省数据RAM,采用八位一存。
Byte1_PutBit(0,ccd_in_GetVal());
Byte1_PutBit(1,ccd_in_GetVal());
Byte1_PutBit(2,ccd_in_GetVal());
Byte1_PutBit(3,ccd_in_GetVal());
Byte1_PutBit(4,ccd_in_GetVal());
Byte1_PutBit(5,ccd_in_GetVal());
Byte1_PutBit(6,ccd_in_GetVal());
Byte1_PutBit(7,ccd_in_GetVal());
Video[kk][0]=Byte1_GetVal();
场中断里面把参数更新就行了。
Byte1_PutBit(1,ccd_in_GetVal());
Byte1_PutBit(2,ccd_in_GetVal());
Byte1_PutBit(3,ccd_in_GetVal());
Byte1_PutBit(4,ccd_in_GetVal());
Byte1_PutBit(5,ccd_in_GetVal());
Byte1_PutBit(6,ccd_in_GetVal());
Byte1_PutBit(7,ccd_in_GetVal());
Video[kk][0]=Byte1_GetVal();
场中断里面把参数更新就行了。
由于dsc的调试模块不支持实时数据观测,只能先将程序停止,然后再观测程序变量,调试不方便,而且某些效果是不允许程序停止的,因此,我们在这里使用pcmaster来进行程序调试,基本上可以满足实时观测程序变量的需求。