Dsp学习笔记
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1GPIO作为通用I/O口使用
a)EALLOW;//防止私自写或覆盖寄存器的内容,加了这句,接下来可以操作寄存器了
b)GpioCtrlRegs.GPAMUX1.bit.GPIO0 = 0; // GPIO0复用为普通I/O功能
c)GpioCtrlRegs.GPADIR.bit.GPIO0 = 1; // 1,设置为输出;0设置为输入
d)EDIS;//加了这句,接下来不可以操作寄存器
注:EALLOW,EDIS总是成对出现
2中断过程(代码以配置SCIB模块的接收中断为例,LSPCLK是37.5MHz)中断共分三级,1,外设级;2,PIE级;3,CPU级;外设级的中断标志必须手动清零;
PIE级和CPU级的中断标志位由硬件自动清零。
中断响应例程:
第一步,配置中断源,即允许产生什么类型点中断。
例如,定时器中断,串口中断,外部中断等。
ScibRegs.SCICTL2.bit.RXBKINTENA =1;允许接收中断
第二步,配置PIE(外部中断扩展)
a) InitPieCtrl();//初始化Pie控制
b) InitPieVectTable();//初始化Pie向量表控制
c) EALLOW;
d) PieVectTable.SCIRXINTB=&scibreceive;//指定中断服务程序地址
e) EDIS;
f) PieCtrlRegs.PIECTRL.bit.ENPIE=1;//使能从PIECTRL中读取中断向量
g) PieCtrlRegs.PIEIER9.bit.INTx3=1;//使能SCIB的接收中断
h) IER |= M_INT9;//允许外部中断
i) EINT;
j) ERTM;
第三步,中断响应
在中断服务程序里,必须用PieCtrlRegs.PIEACK.all = PIEACK_GROUP9;//清楚中断已响应标识,再写自己等程序代码
3串口配置
InitScibGpio();
scib_echoback_init();
4AD转换
InitAdc();//允许ADC时钟,带隙和参考电路上电,核中模拟电路上电
AdcRegs.ADCTRL2.all = 0x2000;//ADC模块开始转换
程序在FLASH运行时,需要加如下两句代码:(不知道具体原因)
MemCopy(&RamfuncsLoadStart, &RamfuncsLoadEnd, &RamfuncsRunStart);
InitFlash();。