找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

一個(gè)stm32用ST-link在sram調(diào)試的具體配置方法(源碼分享)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:345396 發(fā)表于 2018-10-8 09:10 | 只看該作者 回帖獎勵 |倒序?yàn)g覽 |閱讀模式
這是我這幾天試了好久才弄好的st-link進(jìn)行sram調(diào)試,我總結(jié)一下方法,希望能幫到以后可能會的遇到這個(gè)問題的人
具體在附件上面。
附件上有詳細(xì)的sram調(diào)試配置步驟   還有一個(gè)模板, 芯片型號是stn32f103rct6  如果用的是mini板的話可以直接套用。

stm32單片機(jī)源程序如下:
  1. #include "stm32f10x.h"


  2. void GPIO_Configuartion(void)
  3. {
  4.         GPIO_InitTypeDef GPIO_InitStructure;
  5.         
  6. RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOD|RCC_APB2Periph_AFIO,ENABLE);
  7.         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8; //LED0-->PA.8 端口配置
  8.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽輸出
  9.         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //IO 口速度為 50MHz
  10.         GPIO_Init(GPIOA, &GPIO_InitStructure); //初始化 GPIOA.8
  11.         GPIO_SetBits(GPIOA,GPIO_Pin_8); //PA.8 輸出高
  12.         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2; //LED1-->PD.2 端口配置, 推挽輸出
  13.         GPIO_Init(GPIOD, &GPIO_InitStructure); //推挽輸出 ,IO 口速度為 50MHz
  14.         GPIO_SetBits(GPIOD,GPIO_Pin_2); //PD.2 輸出高
  15. }
  16. void Exit_Configuration(void)
  17. {
  18.         GPIO_InitTypeDef GPIO_InitStructure;
  19.         EXTI_InitTypeDef EXTI_InitStructure;
  20.         NVIC_InitTypeDef NVIC_InitStructure;
  21.         
  22.         //開時(shí)鐘
  23.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOC|RCC_APB2Periph_AFIO,ENABLE);
  24.         
  25.         //配置GPIO
  26.         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_15;
  27.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
  28.         GPIO_Init(GPIOA, &GPIO_InitStructure);
  29.         
  30.         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;
  31.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
  32.         GPIO_Init(GPIOC, &GPIO_InitStructure);
  33.         
  34.         //連接中斷線
  35.         
  36.         
  37.         
  38.         //配置外部中斷
  39.         GPIO_EXTILineConfig(GPIO_PortSourceGPIOA, GPIO_PinSource15);
  40.         EXTI_InitStructure.EXTI_Line = EXTI_Line15;
  41.         EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
  42.         EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising_Falling;
  43.         EXTI_InitStructure.EXTI_LineCmd = ENABLE;
  44.         EXTI_Init(&EXTI_InitStructure);
  45.         
  46.         GPIO_EXTILineConfig(GPIO_PortSourceGPIOC, GPIO_PinSource5);
  47.         EXTI_InitStructure.EXTI_Line = EXTI_Line5;
  48.         EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
  49.         EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising_Falling;
  50.         EXTI_InitStructure.EXTI_LineCmd = ENABLE;
  51.         EXTI_Init(&EXTI_InitStructure);
  52.         
  53.         //軟件模擬產(chǎn)生中斷
  54.         EXTI_GenerateSWInterrupt(EXTI_Line5);
  55.         
  56.         if(EXTI_GetITStatus(EXTI_Line5) != RESET)
  57.         {
  58.                 EXTI_ClearITPendingBit(EXTI_Line5);
  59.         }
  60.         
  61.         //配置中斷優(yōu)先級
  62.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);
  63.         
  64.         NVIC_InitStructure.NVIC_IRQChannel = EXTI15_10_IRQn;
  65.   NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
  66.   NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
  67.   NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
  68.   NVIC_Init(&NVIC_InitStructure);
  69.         
  70.         NVIC_InitStructure.NVIC_IRQChannel = EXTI9_5_IRQn;
  71.   NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
  72.   NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;
  73.   NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
  74.   NVIC_Init(&NVIC_InitStructure);
  75.         
  76. }

  77. void EXTI9_5_IRQHandler(void)
  78. {                        
  79.         //delay_ms(10);   //消抖                        
  80.         if (EXTI_GetITStatus(EXTI_Line5) != RESET )//判斷外部中斷線1是否有中斷
  81.          {
  82.                 EXTI_ClearITPendingBit(EXTI_Line5);//如果有中斷,清除中斷標(biāo)志位
  83.                 GPIOA->BSRR=GPIO_Pin_8;//將PB0置1
  84.     GPIOD->BSRR=GPIO_Pin_2;                 
  85.         }               
  86.            
  87. }


  88. void EXTI15_10_IRQHandler(void)
  89. {
  90.         if ( EXTI_GetITStatus(EXTI_Line15) != RESET )//判斷外部中斷線8是否有中斷
  91.          {
  92.                 EXTI_ClearITPendingBit(EXTI_Line15);
  93.                 GPIOA->BSRR=GPIO_Pin_8;//將PB0置1
  94.     GPIOD->BRR=GPIO_Pin_2;        
  95.          }
  96. }
  97. int main(void)
  98. {
  99.         unsigned int i = 0;
  100. SystemInit();
  101. GPIO_Configuartion();
  102.         
  103.         
  104. Exit_Configuration();

  105. while (1)
  106. {



  107. }
  108. }
復(fù)制代碼

所有資料51hei提供下載:
template.rar (358.54 KB, 下載次數(shù): 10)
調(diào)試步驟和腳本文件.rar (596 Bytes, 下載次數(shù): 12)


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

使用道具 舉報(bào)

沙發(fā)
ID:285416 發(fā)表于 2020-2-24 18:01 來自手機(jī) | 只看該作者
沒有調(diào)試步驟,只有腳本文件,你這純屬偏黑b呢.
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表