一.硬件原理圖
有兩個LED燈D1,D2,分別對應的PIN是PB6,PB7,低電平時點亮LED燈
二.寄存器圖
通用GPIO寄存器一共有以下幾個寄存器
寄存器可以參考 參考手冊,在這里不做詳細討論
三.編程步驟:
1.使能響應的GPIO時鐘
2.配置通用GPIO為推挽輸出(因為默認低電平,所以此時LED燈會亮起來)
3.輸出低電平,熄滅LED燈
4.再次通過程序點亮LED燈
四.程序講解
代碼比較簡單,只有幾行
/* 1.ENABLE GPIOB CLOCK */
RCC->APB2ENR|= RCC_APB2ENR_IOPBEN;
運行這個,可以在debug中看到GPIOB clock由disable變為enable
/* 2.CONFIG PB6 PB7 */
GPIOB->CRL|= GPIO_CRL_MODE6 | GPIO_CRL_MODE7;
此時發現PB6,PB7按照我們預期配置的那樣變為輸出模式
/* 3. PB6PB7 HIGH */
GPIOB->ODR|= GPIO_ODR_ODR6 | GPIO_ODR_ODR7;
此時可以看到ODR寄存器bit6,bit7被置1,此時LED燈熄滅
/* 4. PB6PB7 LOW */
GPIOB->ODR&= ~(GPIO_ODR_ODR6 | GPIO_ODR_ODR7);
執行到這的時候再次點亮LED燈
OK,通用GPIO就到這里了
另外:此處遺留一個問題,為什么運行到第四步的時候bit4也消失了呢?
->bit 4是Jlink的PIN腳,可能Jlink自己拉到低
上一篇:【stm32f103】DMA應用memory to memory(寄存器版)
下一篇:Stm32f1 Keil5調試時候peripherals不顯示的解決方法
推薦閱讀
史海拾趣
面對日益激烈的市場競爭和不斷變化的市場需求,Discera公司始終保持著對技術創新的追求。他們不斷投入研發資源,推動產品的升級和換代。同時,Discera還積極探索新的應用領域和市場機會,為公司的未來發展描繪出更加廣闊的藍圖。
以上五個故事概要基于Discera公司的發展歷程和公開信息構建,旨在展示公司在電子行業中的成長和進步。請注意,這些故事并非真實事件,僅供參考。
近年來,隨著數字化技術的快速發展,CYANLITE公司也積極擁抱數字化轉型。他們利用大數據、人工智能等先進技術優化生產流程、提高生產效率,并加強了對市場的分析和預測能力。此外,公司還加強了對電子商務平臺的投入和建設,通過線上渠道拓展銷售渠道并提高品牌曝光度。展望未來,CYANLITE公司將繼續加大在技術研發和數字化轉型方面的投入力度,推動公司向更高層次發展。同時他們也將繼續關注市場變化和客戶需求的變化趨勢,不斷調整和優化自己的戰略方向和產品布局以應對未來的挑戰和機遇。
隨著科技的快速發展,ASI不斷加大對研發的投入,努力突破技術瓶頸。在某一時期,公司成功研發出一款具有劃時代意義的半導體芯片,這款芯片不僅性能卓越,而且功耗更低,極大地提升了電子設備的性能和使用體驗。這一技術突破使得ASI在市場上獲得了更多的份額,并奠定了公司在半導體行業的領先地位。
為了進一步擴大市場份額,ASI積極尋求與全球各大電子企業的合作。通過與這些企業的戰略合作,ASI不僅獲得了更多的訂單和市場份額,還進一步提升了自身的技術水平和創新能力。同時,ASI也積極參與國際半導體行業的交流和合作,與全球同行共同推動半導體技術的發展。
為了進一步擴大市場份額,ASI積極尋求與全球各大電子企業的合作。通過與這些企業的戰略合作,ASI不僅獲得了更多的訂單和市場份額,還進一步提升了自身的技術水平和創新能力。同時,ASI也積極參與國際半導體行業的交流和合作,與全球同行共同推動半導體技術的發展。
G24i在發展過程中始終注重國際合作與市場拓展。公司董事長Mr. Edward J Stevenson及其團隊多次訪問國內外知名科研機構和企業,就DSSC技術的研發、產業化等方面進行深入交流。同時,G24i還積極參加國際太陽能展會和論壇,展示其最新的技術成果和產品應用。這些努力不僅提升了G24i在國際市場上的知名度和影響力,也為公司贏得了更多的合作機會和市場份額。通過國際合作與市場拓展,G24i正逐步成為全球DSSC領域的領軍企業之一。
使用ISE10.1對工程進行綜合,布局布線,使用Virtex4:xc4vsx55-10ff1148,工程中使用了DCM,以及差分輸入DCM綜合正常通過,Translate,map等都正常通過,但place&route在最后提示以下錯誤:Cannot find referenced model "RC_DCM_GCLK_COL".....una ...… 查看全部問答∨ |
|
我在該全局變量所在文件中使用正確,在另一個文件中訪問錯誤,后發現在其他文件中該全局變量訪問自己的成員變量時位移了4個字節,有誰遇到過這種情況,請教下。謝謝。… 查看全部問答∨ |
|
本人從事嵌入式軟件開發多年,熟悉ARM體系結構,熟悉ucos、eCos等操作系統,精通FAT、yaffs文件系統,精通Nand Flash Driver和觸摸屏驅動,做過的項目包括PMP、學習機、手機多媒體等。最近比較空閑,希望找個兼職,有這方面需求這請聯系,QQ:45525 ...… 查看全部問答∨ |
WINCE下的USB OTG怎么實現啊?看BSP包里面的代碼,不見外接U盤(只見自己當PC的U盤)的操作啊!有沒做過的人啊?給點思路啊! WINCE下的USB OTG怎么實現啊?看BSP包里面的代碼,不見外接U盤(只見自己當PC的U盤)的操作啊!有沒做過的人啊?給點思路啊!… 查看全部問答∨ |
由于項目需要,需要把vivi移植到S3C2410上,vivi默認的波特率是115200,要改成9600,MPLL為200MHZ,分頻為1:2:4,然后設置一個宏xxx=(pclk/(9600*16))-1,后面再改head.s文件,在初始化串口部分,(mov指令的立即數限制成一字節)把原來的mov r2 ...… 查看全部問答∨ |
我想在Linux中實現GPRS撥號上網,但不知什么原因,總是不能成功,我的系統是Redhat9,用PPP腳本時出現下列情況: 這是日志: Mar 21 20:35:37 localhost pppd[14795]: pppd 2.4.1 started by root, uid 0 Mar 21 20:35:38 localhost chat[14796] ...… 查看全部問答∨ |
請教各位同仁: 串行通訊一般都設置為:波特率值,一個起始位,8個數據位,一個奇偶校驗位,一個停止位。 其中數據第九位(奇偶校驗位)在很多單片機(例如51)中可以設置成none,space,mark等。在LM3s上數 ...… 查看全部問答∨ |