TinyOS中的I O中斷使用

2021-08-27 07:49:40 字數 904 閱讀 8652

控制器的i/o一般情況下都是功能復用的,除了作為普通的i/o實現高低電平的讀取和設定外,還可以作為adc的輸入埠,dac的輸出埠,以及中斷的觸發源。本篇文章旨在介紹i/o埠的中斷使用,在介紹中斷功能之前,讓我們先來看下普通i/o的使用。

在前面的文章中《tinyos之blink(一) - 底層i/o指定分析》,已經詳細的介紹了普通i/o埠的指定,這裡我們再複習下。

假設我們的最終目的是要將p1.0埠作為我們控制輸入和輸出的i/o介面,那麼我們要做的就是:

provides inte***cegeneralio as inte***cep10;

components hplmsp430generalioc as generalioc;

components new msp430gpioc() as p10;

inte***cep10=p10;

p10->generalioc.port10;

假設我們的最終目的是將p1.0埠作為i/o的中斷輸入埠,那麼我們要做的就是:

provides inte***ce gpiointerrupt as interruptp10;

components hplmsp430interruptc as iointerruptc;

components new msp430interruptc() as ip10;

interruptp10=ip10;

ip10->iointerruptc.port10;

至此,介面interruptp10便具備了中斷功能,其中,interruptionp10是提供給上層應用的i/o中斷介面,在本例中應用的平台是tmote,元件hplmsp430interruptc和msp430interruptc()位於tinyos2.1/tos/chips/msp430/pins(和普通i/o元件在同一目錄)。

I O的控制方式 查詢,中斷,dma

早期,i o序列,查詢方式。發展,i o並行,兩種方式其一是中斷方式,其二是dma方式,使得外部裝置能直接與主儲存器資訊交換,減輕了cpu的工作量。技術繼續發展,出現通道結構,實質上為高效能的dma控制器 微處理器,dma方式的進化 目的在於讓i o自己完成輸入輸出。技術再發展,出現i o處理機,實...

中斷的使用

對於飛思卡爾codewarrior的中斷使用,一般有3種方法 1.把 pragma trap proc放在中斷程式前面,並把中斷向量表放到 prm。例如 pragma trap proc void pit1 void 例如 interrupt void intpit1 void 向量表的首位址放入 ...

stm32 中斷線 IO模式讀寫筆記

一.stm32 中斷線 的使用方法 1.中斷線配置 void exti configuration void 二.gpio readinputdatabit 和gpio readoutputdatabit 函式用法解釋說明如下 1.使用格式如下 gpio readinputdatabit gpiob...