//c28335一共96中斷,可以使用的有58個中斷,其餘保留
//c28335的中斷請求可以分成:
//可遮蔽中斷:通過判斷優先順序選擇是否處理
//不可遮蔽中斷:強制停止cpu程序,進入中斷程式,比如復位和nmi。
//片內中斷源:pwm、cap、qep、timer等
//片外中斷源:外部中斷輸入引腳xint1、xint2引入的訊號
//pie作為中斷管理模組:主要是用來在有限中斷通道的情況下,管理多個中斷源觸發
//pie模組處理int1~int12組中斷源,每組中斷源下包含8路中斷通道(int1.x(x = 1、2、…、8));
//定時器1、2的中斷源分別為int13、int14
//初始化系統函式
initsysctrl();
//禁止cpu中斷
dint;
//初始化pie控制
initpiectrl();
//禁止中斷並清除中斷標誌位
ier = 0; //全域性中斷使能
ifr = 0; //全域性標誌位
//初始化pie向量表
initpievecttable();
//將外部中斷的中斷服務函式對映到中斷向量表
eallow;
pievecttable.xint3 = &xint3_isr;
pievecttable.xint4 = &xint4_isr;
edis;
//清除計數值
xint3count = 0;
xint4count = 0;
loopcount = 0;
//使能cpu級中斷
ier |= m_int12;
//使能pie塊
piectrlregs.piectrl.bit.enpie = 1;
//使能pie 12組 int1 、 int2
piectrlregs.pieier12.bit.intx1 = 1;
piectrlregs.pieier12.bit.intx2 = 1;
//開啟中斷
eint;
//關暫存器寫保護
eallow;
gpiointregs.gpioxint3sel.bit.gpiosel = 0x1c;
gpiointregs.gpioxint4sel.bit.gpiosel = 0x1d;
//開暫存器寫保護
edis;
//配置 xint1
//falling edge interrupt 下降沿中斷
xintruptregs.xint3cr.bit.polarity = 0;
//rising edge interrupt 上公升沿中斷
xintruptregs.xint4cr.bit.polarity = 1;
//使能外部中斷
xintruptregs.xint3cr.bit.enable = 1;
xintruptregs.xint4cr.bit.enable = 1;
//主迴圈
interrupt void xint3_isr(void)
interrupt void xint4_isr(void)
TMS320F28335入門(五)ADC學習
c28335片上有乙個12位的a d轉換器 其前端為2個8選1多路切換器 2路同時取樣保持器 三者共同構成的16路模擬通道輸入 模擬量輸入範圍 0 3v 模擬通道的切換由硬體控制,並將各個通道的轉換順序存入16個結果暫存器中 其轉換率 在25mhz的adc時鐘下為80ns 具有自動排序功能 轉換結果...
TMS320F28335的時鐘介紹
tms320f28335的時鐘介紹 tms320f28335上有乙個基於pll電路的片上時鐘模組,為cpu及外設提供時鐘有兩種方式 一種是用外部的時鐘源,將其連線到x1引腳上或者xclkin引腳上,x2接地 另一種是使用振盪器產生時鐘,用30mhz的晶體和兩個20pf的電容組成的電路分別連線到x1和...
TMS320F28335的時鐘介紹
tms320f28335的時鐘介紹 tms320f28335上有乙個基於pll電路的片上時鐘模組,為cpu及外設提供時鐘有兩種方式 一種是用外部的時鐘源,將其連線到x1引腳上或者xclkin引腳上,x2接地 另一種是使用振盪器產生時鐘,用30mhz的晶體和兩個20pf的電容組成的電路分別連線到x1和...