久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 7617|回復: 0
打印 上一主題 下一主題
收起左側

實現用一個中斷服務程序(ISR)處理CC2530多個端口中斷的方法

[復制鏈接]
跳轉到指定樓層
樓主
ID:76127 發表于 2015-4-18 00:19 | 只看該作者 回帖獎勵 |正序瀏覽 |閱讀模式
當用CC2530開發程序時,有時候會用到IO端口的外中斷,CC2530強大的外中斷系統,可以使得幾乎每一個IO端口都可以處理外中斷,外中斷的數量遠遠超過51單片機外中斷的數量(51單片機是兩個外中斷,INT0和INT1).
但是當我們對CC2530的外中斷進行編程時,會發現雖然端口0(或者端口1)可以同時處理8個外中斷,但是中斷服務程序卻只有一個,那么CC530是怎么區分是由端口中的哪個引腳觸發的中斷呢?其實是通過引腳的中斷標志位進行區分的,我下面帖一段正常運作的代碼,大家參考一下,就能知道原理了。
//代碼說明:P1.0和P1.1分別連接LED1和LED2燈,P0.1和P0.2分別接兩個按鍵,也可以接兩個外中斷源,在端口0的中斷服務程序中通過端口標志位來區分是哪個中斷源引起的中斷,如果是P0.1引起的中斷,就點亮(或者熄滅)LED1燈,如果是P0.2引起的中斷,就點亮(或者熄滅)LED2燈.
void main(void)
{
halMcuClockInit();//將始終設置為32MHZ的
//對LED燈的設置
IO_FUNC_PORT_PIN(1, 0, IO_FUNC_GIO); //將P1_0設置為普通的IO口
IO_DIR_PORT_PIN(1, 0, IO_OUT); //設置為輸出
IO_FUNC_PORT_PIN(1, 1, IO_FUNC_GIO); //將P1_1設置為普通的IO口
IO_DIR_PORT_PIN(1, 1, IO_OUT); //設置為輸出

IO_FUNC_PORT_PIN(0, 2, IO_FUNC_GIO); //將P0_2設置為普通的IO口
IO_DIR_PORT_PIN(0, 2, IO_IN); //方向為輸入
IO_IMODE_PORT_PIN(0 ,2 ,IO_IMODE_PUD); //設置為上拉或者下拉模式
IO_PUD_PORT(0, IO_PULLUP); //設置為上拉模式
IO_FUNC_PORT_PIN(0, 1, IO_FUNC_GIO); //將P0_1設置為普通的IO口
IO_DIR_PORT_PIN(0, 1, IO_IN); //方向為輸入
IO_IMODE_PORT_PIN(0 ,1 ,IO_IMODE_PUD); //設置為上拉或者下拉模式
IO_PUD_PORT(0, IO_PULLUP); //設置為上拉模式

P0IFG=0x00; //P0中斷標志位清零
IRCON=0X00; //P0中斷端口標志位解掛
PICTL|=0x01; //配置端口0所有的引腳為下降沿中斷
P0IEN |=0X04; //開啟中斷p0.2
P0IEN |=0X02; //開啟中斷p0.1
IEN1 |=0X20; //開啟P0口的總中斷
INT_GLOBAL_ENABLE(INT_ON); //使能全局中斷
while(1);
}
#pragma vector=P0INT_VECTOR
__interrupt void P1_IRQ(void){
// check if PUSH_BUTTON is pressed
if((P0IFG&0X04)!=0)//p0.2的中斷
{
MCU_IO_TGL(1,0);//電平切換
}
if((P0IFG&0X02)!=0)//p0.1的中斷
{
MCU_IO_TGL(1,1);//電平切換
}

P0IFG = 0;
IRCON=0X00; //P0中斷標志位解掛


}
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 中文在线字幕 | 日韩一级免费视频 | 日韩一区二区三区四区 | 国产高清在线观看 | 亚洲综合精品 | 欧美日韩国 | 99自拍视频| 成人aaaa| 9999精品视频 | 黄色片视频免费 | 日韩性视频 | 久久黄色影院 | 中文字幕有码在线 | 成人不卡视频 | 国产日韩一区 | 日韩免费毛片 | 五月在线视频 | 夜夜骑天天干 | 欧美视频二区 | av网站在线播放 | 免费的黄色小视频 | 91av在线免费观看 | 成人av网站在线观看 | 欧美日韩成人一区二区 | 国产一区免费 | 国产呦小j女精品视频 | 91精品国产一区二区三区 | 亚洲精品91天天久久人人 | 久久视频在线 | 黄色片国产| 91午夜理伦私人影院 | 亚洲一级二级三级 | 日韩特级片 | 99热精品在线 | 简单av网 | 福利一区福利二区 | 免费毛片在线播放免费 | 亚洲免费久久 | 天天干天天干天天操 | 中文字幕日本 | 国产理论片 |