<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 智林STM32程序源代碼的分析和整理03

          智林STM32程序源代碼的分析和整理03

          作者: 時(shí)間:2016-11-28 來源:網(wǎng)絡(luò) 收藏
          一、Systick的配置

          1、簡(jiǎn)單介紹

          本文引用地址:http://www.ex-cimer.com/article/201611/322960.htm

          這是一個(gè)系統(tǒng)定時(shí)器,時(shí)鐘源可以為AHB時(shí)鐘,也可設(shè)置為SysClk/8。使用時(shí)先設(shè)定初始值,然后每來一個(gè)時(shí)鐘,減去1,計(jì)數(shù)器為0時(shí)標(biāo)志置位,也可觸發(fā)中斷。

          在我的程序中,Systick用作usos的工作時(shí)鐘。

          2、我的源程序

          void SysTick_Config(void){

          SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK);

          SysTick_SetReload(72000*10);

          //72MHz的頻率下,計(jì)數(shù)72000需要1ms。

          SysTick_ITConfig(ENABLE);

          }

          下面是中斷服務(wù)程序

          void SysTickHandler(void){

          OS_CPU_SRcpu_sr;

          OS_ENTER_CRITICAL();

          OSIntNesting++; //中斷嵌套計(jì)數(shù)

          OS_EXIT_CRITICAL();

          OSTimeTick();//ucos的時(shí)鐘服務(wù)程序

          OSIntExit();//這里可以觸發(fā)任務(wù)切換軟中斷

          }

          二、GPIO的配置

          1、PA口

          PA0對(duì)應(yīng)按鍵PB3,開發(fā)板右下角。PA1用于模擬電位器,JP1在這里。PA2用定時(shí)器的PWM產(chǎn)生液晶的背光電源。PA4-PA7用于SPI模式操作SD卡。PA9,PA10用于串口0通信。PA11,PA12是USB差分線。PA13、PA14、PA15是JTAG的三個(gè)腳。

          PA3、PA8沒用到。

          2、PB口

          PB0用于揚(yáng)聲器,PB2與JP4用于Boot1選擇。PB3和PB4是JTAG的另外兩個(gè)腳。PB5控制綠色指示燈,在SD卡上面。PB6、PB7用于I2C的存儲(chǔ)器。PB8、PB9用于CAN收發(fā)器。PB11-PB15用于搖桿按鍵。

          PB1和PB10沒有用到

          3、PC口

          PC0到PC7用于液晶的數(shù)據(jù)口,PB8-PB12分別用于讀、寫、命令數(shù)據(jù)選擇、復(fù)位和片選。PB13是PB2按鍵,在PB3左邊。PB14-PB15外接32.768KHz晶振。

          以上是開發(fā)板上各個(gè)IO口的用途,通用IO口先在這里配置,其它復(fù)用功能的在相應(yīng)的功能里配置,以下是源程序。

          4、程序

          void GPIO_Config(void){

          GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;

          GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;//浮空輸入

          GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//最大速度50MHz

          GPIO_Init(GPIOA, &GPIO_InitStructure);//對(duì)A口初始化

          GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;

          GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;

          GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

          GPIO_Init(GPIOB, &GPIO_InitStructure);

          GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11 | GPIO_Pin_13| GPIO_Pin_13| GPIO_Pin_14| GPIO_Pin_15;

          GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;

          GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

          GPIO_Init(GPIOB, &GPIO_InitStructure);

          GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;

          GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;

          GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

          GPIO_Init(GPIOC, &GPIO_InitStructure);

          }



          關(guān)鍵詞: 智林STM32程序源代

          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();