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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 9018|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

學(xué)習(xí)筆記-STM32 JLINK調(diào)試、端口復(fù)用與端口重映射

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:91350 發(fā)表于 2015-10-29 15:53 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
      
22集 JLINK在線調(diào)試方法與技巧
     Cortex-M3內(nèi)核含硬件調(diào)試模塊,支持復(fù)雜的調(diào)試操作。硬件調(diào)試模塊允許內(nèi)核在取指(指令斷點)或訪問數(shù)據(jù)(數(shù)據(jù)斷點)時暫停。內(nèi)核暫停時,內(nèi)核內(nèi)部狀態(tài)和系統(tǒng)的外部狀態(tài)都是可以查詢的。完成查詢后,內(nèi)核和外設(shè)可以被復(fù)原,程序?qū)⒗^續(xù)執(zhí)行。
支持兩種調(diào)試接口:SW串行接口(2線) JTAG調(diào)試接口(5線)
     需要注意的是,由于上電默認(rèn)為JTMS/SWDIO模式,所以PA13\PA14\PA15\PB3\PB4都不能直接當(dāng)成GPIO使用。可以通過 GPIO_PinRemapConfig() 來關(guān)閉或開啟JTAG-DP\SW-DP,從而可以使用這些GPIO。
這集不方便用文字描述,都注重實踐性。
23集 端口復(fù)用和端口重映射
一、端口復(fù)用
    STM32有很多的內(nèi)置外設(shè),這些外設(shè)的引腳都是GPIO復(fù)用的。也就是說,一個GPIO如果可以復(fù)用為內(nèi)置外設(shè)的功能引腳,那么當(dāng)這個GPIO作為內(nèi)置外設(shè)使用的時候,就叫做端口復(fù)用。
    例如串口1的發(fā)送接受引腳是PA9\PA10,當(dāng)我們需要用串口1時,就需要設(shè)置PA9\PA10復(fù)用為串口1功能的發(fā)送接收引腳。這就是端口復(fù)用。
二、端口復(fù)用的配置方法(PA9\PA10配置為串口1為例子)
1、使能GPIO端口時鐘、使能串口時鐘
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);
2、配置端口的模式
每一種外設(shè)對端口的模式都不太一樣,需要參考《STM32中文參考手冊 V10》P110的表格
//PA9  復(fù)用推挽輸出
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;         
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_Init(GPIOA, &GPIO_InitStructure);
//PA10  浮空輸入
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_Init(GPIOA, &GPIO_InitStructure);  
三、端口重映射
每個內(nèi)置外設(shè)都有根據(jù)外設(shè)的需要,都會有相應(yīng)數(shù)量的輸入輸出引腳,例如I2C就需要兩個引腳,一般這些引腳的輸出端口都是固定不變的,但為了讓設(shè)計工程師可以更好的安排引腳的走向和功能,在STM32中引入了外設(shè)引腳重映射的概念,即一個引腳除了可以復(fù)用默認(rèn)的外設(shè)功能外,還可以通過設(shè)置重映射寄存器的方式把其他外設(shè)功能映射到該端口上,當(dāng)然原來的引腳上的外設(shè)功能就失效了。
例如PD5\PD6的復(fù)用功能為FSMC_NWE\FSMC_NWAIT,它也可以通過設(shè)置重映射寄存器的方式設(shè)置外設(shè)功能為USART2_TX\USART2_RX。而原來的PA2\PA3則不能再作為USART2_TX\USART2_RX使用了。
  
四、端口重映射的優(yōu)點
1、I/0的復(fù)用:GPIO和內(nèi)置外設(shè)共用引出管腳
2、I/0的重映射:復(fù)用功能(AFIO)從不同的GPIO管腳引出
3、為了方便PCB的設(shè)計,潛在的減少信號的交叉干擾
4、分時復(fù)用某些外設(shè),虛擬地增加了端口數(shù)目
五、AFIO重映射的操作步驟
1、使能被重映射到的I/O端口時鐘
2、使能被重映射的外設(shè)時鐘
3、使能AFIO功能的時鐘(重要)
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
4、開啟重映射(根據(jù)第一個參數(shù)來確定是部分重映射還是全部重映射)
GPIO_PinRemapConfig(GPIO_Remap_USART1, ENABLE);
六、AFIO輔助功能時鐘必須開啟的場景(參考《STM32中文參考手冊》P123)
凡是對寄存器AFIO_MAPR、AFIO_EXTICRX、AFIO_EVCR進(jìn)行讀寫操作前都應(yīng)該首先打開AFIO時鐘。
AFIO_MAPR:配置復(fù)用功能重映射
AFIO_EXTICRX:配置外部中斷線映射
AFIO_EVCR:配置EVENTOUT事件輸出
七、部分重映射 & 完全重映射
部分重映射:外設(shè)功能的部分引腳重新映射,還有一部分引腳是原來的默認(rèn)引腳。
完全重映射:外設(shè)功能的所有引腳都重新映射。
例如:
    USART3_TX\USART3_RX\USART3_CK這三個功能由PB10\PB11\PB12重映射到PC10\PC11\PC12,其余的USAER3_CTS\USART3_RTS依然保留在PB13\PB14,則稱為部分重映射。
將USART3_TX\USART3_RX\USART3_CK\USAER3_CTS\USART3_RTS由PB10\PB11\PB12\PB13\PB14全部映射到PD8\PD9\PD10\PD11\PD12,則稱為完全重映射

   




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

使用道具 舉報

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

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 国产视频福利一区 | 亚洲精品福利视频 | 97精品久久 | 综合色婷婷| 久久精品国产清自在天天线 | 91精品国产综合久久福利软件 | 日韩在线观看 | 日韩有码一区二区三区 | 天天操人人干 | 日韩一区二区在线视频 | 亚洲欧美激情精品一区二区 | 欧美一区二区视频 | 99亚洲| 成人国产精品久久久 | 91视视频在线观看入口直接观看 | 日韩av成人| 91九色视频 | 韩国av一区二区 | 天天色综网 | 日韩精品视频在线 | 美女精品一区 | 中文字幕日韩av | 久久精品一区二区三区四区 | 日韩在线视频免费观看 | 在线不卡视频 | 一区二区日韩 | 偷拍自拍网址 | 黄色毛片在线观看 | 国产福利小视频 | 天天天久久久 | 国产高清精品一区二区三区 | 色婷婷国产精品综合在线观看 | 综合精品久久久 | 亚洲精品一区二区网址 | 亚洲国产精品一区二区第一页 | 网站国产 | 国产黄色免费网站 | 婷婷不卡 | 91精品国产手机 | 黄色一级大片在线免费看产 | 男人的天堂久久 |