STM32之JTAG、SWD模式


說在前面的話

  最近YKY項目做了新的硬件設計,其中鍵盤接口采用矩陣式鍵盤(4*4),有兩個接口使用了STM32 (PB3、PB4),

調試中發現,這兩個接口對應的兩行均不能正常掃描到按鍵值,查看數據手冊才知道這是系統接口,需要進行設置才可以

作為普通IO口使用。如圖是數據手冊對這兩個接口的介紹:

解決方法

寄存器版本:

 1 //JTAG模式設置,用於設置JTAG的模式
 2 //mode:jtag,swd模式設置;00,全使能;01,使能SWD;10,全關閉;       
 3 //#define JTAG_SWD_DISABLE   0X02
 4 //#define SWD_ENABLE             0X01
 5 //#define JTAG_SWD_ENABLE    0X00          
 6 void JTAG_Set(u8 mode)
 7 {
 8     u32 temp;
 9     temp=mode;
10     temp<<=25;
11     RCC->APB2ENR|=1<<0;     //開啟輔助時鍾       
12     AFIO->MAPR&=0XF8FFFFFF; //清除MAPR的[26:24]
13     AFIO->MAPR|=temp;       //設置jtag模式
14 } 

庫版本:

RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
//開啟AFIO時鍾

GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable,ENABLE);
//改變指定管腳的映射 GPIO_Remap_SWJ_Disable SWJ 完全禁用(JTAG+SW-DP)

GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);
//改變指定管腳的映射 GPIO_Remap_SWJ_JTAGDisable ,JTAG-DP 禁用 + SW-DP 使能

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM