非常簡單的一個程序,在F5529的開發板上用按鍵的IO中斷控制LED的亮滅:
#include
int main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer
P1DIR |= BIT0; //將LED1對應的IO口P1.0設置為輸出
P1OUT &= ~BIT0; //初始化該燈設置為滅
P1DIR &= ~BIT7; //將按鍵1對應的IO口P1.7設置為輸入
P1IFG &= ~BIT7; //初始化清空中斷標志位
P1IE |= BIT7; //P1.7中斷使能
P1IES |= BIT7; //下降沿產生中斷
P1OUT |= BIT7; //P1.7設置為上拉電阻:OUT = 1; REN = 1;
P1REN |= BIT7;
__enable_interrupt();
while(1);
}
#pragma vector = PORT1_VECTOR //固定格式,聲明中斷向量地址,不能變
__interrupt void LED(void) //函數名,可以任意定義
{
int i;
switch(__even_in_range(P1IV,18))
{
case 0x10:
for (i = 0; i < 12000; i++);
if ((P1IN & BIT7) == 0) //注意位運算的優先級!!!非常重要
P1OUT ^= BIT0;
break;
default:
break;
}
}
經驗總結:
1. 按鍵需要延時消抖
2. 標志位需要手動清零 (此處不完全正確,還有問題需要考慮)
3. 中斷程序格式:
#pragma vector = PORT2_VECTOR //固定格式,聲明中斷向量地址,不能變
__interrupt void fuck430(void) //函數名,可以任意定義
{
switch(__even_in_range(P2IV,18))
{
case 0x06:
…
break;
default:
break;
}
}
4. 主程序中要開總中斷,然后有循環
5. 位運算的優先級很低,注意加括號
6. 按鍵的上拉電阻,OUT、REN、IES
一上午終于把IO中斷弄懂了。吸取位運算優先級的教訓。
上一篇:MSP430F5438時鐘系統
下一篇:淺談msp430f5529入門(1)——時鐘模塊DCO
推薦閱讀
史海拾趣
隨著公司業務的不斷發展,德崧電子開始積極拓展市場。公司深入分析市場需求和行業趨勢,針對不同領域推出了具有針對性的產品和服務。例如,在汽車行業,德崧電子推出了耐高溫、耐磨損的汽車專用開關;在家電行業,公司則推出了外觀精美、功能豐富的智能開關。這些產品的推出不僅滿足了市場的多樣化需求,也為公司帶來了豐厚的回報。
為了進一步擴大市場份額,Chip Supply Micro Devices制定了國際化戰略。公司積極開拓海外市場,通過參加國際電子展會、建立海外銷售網絡等方式,將產品推向全球。同時,公司還針對不同國家和地區的市場需求,推出了定制化的產品解決方案。這些努力使得Chip Supply Micro Devices在國際市場上獲得了良好的口碑和業績。
為了進一步提升競爭力,Brilliance公司開始著手進行產業鏈整合。公司與上下游企業建立了緊密的合作關系,共同打造了一條完整的電子產業鏈。通過協同發展和資源共享,Brilliance不僅降低了生產成本,還提高了產品質量和生產效率。這種產業鏈整合的模式也為公司未來的發展奠定了堅實的基礎。
在導航芯片領域,迦美信芯也取得了顯著成就。由公司董事長兼CTO倪文海主導開發的兼容“GPS+北斗導航”的射頻芯片,被國內主要基帶廠商廣泛采用,占據了北斗細分市場60%的份額。這一成就不僅彰顯了迦美信芯在導航芯片領域的強大實力,也為其在物聯網和汽車電子等領域的應用奠定了堅實基礎。
迦美信芯通訊技術有限公司成立于2008年,總部位于被譽為“中國硅谷”的上海張江高科技園區。自成立以來,公司便專注于射頻領域集成電路的研發和銷售。憑借對技術的深入理解和不懈追求,迦美信芯逐漸在射頻前端市場占據了一席之地。
近年來,全志科技積極尋求與其他行業的合作,共同推進技術的創新和應用。例如,全志與安克創新建立了戰略合作伙伴關系,在AI技術在智能硬件領域的創新研究、落地應用和推廣方面展開了深入合作。這種合作模式不僅提升了全志的科技實力和市場影響力,也為公司的未來發展注入了新的活力。
以上五個故事分別展示了全志科技在創始與崛起、技術突破與市場認可、抓住市場風口、產品線拓展與戰略轉型以及合作與共贏等方面的發展歷程。這些故事共同構成了全志科技在電子行業中的成長軌跡,也展示了其在面對市場挑戰和機遇時的應對策略和決心。
上拉電阻:1、當TTL電路驅動COMS電路時,如果TTL電路輸出的高電平低于COMS電路的最低高電平(一般為3.5V),這時就需要在TTL的輸出端接上拉電阻,以提高輸出高電平的值。2、OC門電路必須加上拉電阻,才能使用。3、為加大輸出引腳的驅動能力,有的單 ...… 查看全部問答∨ |
(SPI、I2C、Uart、并口)轉串口Uart擴展技術資料下載 (SPI、I2C、Uart、并口)轉串口Uart擴展技術資料下載 VK系列UART芯片介紹 http://www.fosvos.com/datasheet/VKFV/VK_UART_FV_INROV011.pdf SPI/I IC/ UART 1.8V QFN封裝1通道16級FIFO的UART VK301 QFN24 http://www.fosvos.com/datasheet/VKFV ...… 查看全部問答∨ |
公司:佳能 職位:研發工程師 語言:c/c++ 平臺:WINCE 經驗:3年以上 地點:北京 有意向者,請速聯系 msn:mygy2006@hotmail.com 13910500391… 查看全部問答∨ |
|
看CS8900的datasheet上面寫到可以達到1.25MB/S;可是我昨天用文件傳輸的方式測試了開發板和PC機通訊,結果只有30KB/S左右的速度!! 真是不解~~ 請假高手指點… 查看全部問答∨ |
如何對ADUC系列的單片機flash數據進行預編譯或者定義? 使用ADUC系列的單片機的時候,經常用它的flash來保存斷電不丟失的數據,但不知道如果在程序編譯時定義flash數據生成flash文件在單片機寫程序時直接把常用的保存在flash區間的數據進行預定義。我一般都是寫程序時只格式化flash,然后在程序運行 ...… 查看全部問答∨ |