stm32f103c8t6工程模板的建立

由於項目需要,因此入手了c8t6,雖然網上關於f1的教程挺多的,也挺全面,但自己剛開始接觸c8t6,覺得商家配套的開發程序看着不習慣,就想弄成原子的風格,網上直接搜索一下,好像都沒有特別好的教程,對於我這些小白來說還是不太友好的(弄這個工程模板花了一天時間,流下了沒有技術的淚水。。。)。主要借鑑的是原子的開發文檔。

  • c8t6工程模板的建立
  • SWD調試的配置

首先貼上移植原子的具體例程:在這裏插入圖片描述
鏈接如下:正點原子openedv資料下載地址;我下載的是mini板的rct6資料,因爲移植前先逛了論壇,原子哥在某篇帖子說了,直接移植這個開發板的例程即可。

  1. 新建相關文件
    新建總文件夾,用來存放本次工程的所有程序,然後再建CORE、HARDWARE、OBJ、FWLIB、SYSTEM、USER這六個文件夾。其中,HARDWARE文件夾是用來存放外設硬件代碼,OBJ用來存放生成調試代碼,FWLIB是各種.c和.h文件,具體如下:
    在這裏插入圖片描述
    這幾個文件夾包含的文件分別如下:
    在這裏插入圖片描述
    在這裏插入圖片描述
    在這裏插入圖片描述
    在這裏插入圖片描述

  2. 打開MDK,建立新工程,保存到USER下:
    在這裏插入圖片描述
    在這裏插入圖片描述
    芯片型號選擇STM32F103C8,然後會彈出run-time environment窗口,選擇取消,
    在這裏插入圖片描述
    在這裏插入圖片描述
    USER文件夾會出現這兩個我們需要的文件:
    在這裏插入圖片描述

  3. 在MDK添加項目所需要的分組以及文件:
    在這裏插入圖片描述
    在這裏插入圖片描述
    在這裏插入圖片描述
    在這裏插入圖片描述
    在這裏插入圖片描述
    在這裏插入圖片描述

  4. 配置options for target:
    在這裏插入圖片描述
    在這裏插入圖片描述
    其中,select folder for objects是選擇生成的hex存放的目錄,這裏選擇存放在OBJ文件夾中,create HEX file是生成hex文件,用於下載到開發板的:
    在這裏插入圖片描述
    在這裏插入圖片描述
    到這裏就基本上完成了新建工程模板。在上網找相關教程的時候發現很多帖子說延時慢了10倍,然後要在初始化的時候添加一個system_init()函數之類的,後來我在原子的開發文檔找到了這句話:
    在這裏插入圖片描述
    在這裏插入圖片描述
    在這裏插入圖片描述
    所以不用再加那句話了。編譯程序,應該是通過的(程序源碼在後面鏈接,如果按照上面的步驟來沒通過的話就對比一下,或許有什麼地方漏掉了也說不好,後面鏈接的工程文件親測可用)。

  5. 添加LED驅動代碼:
    我用的核心板關於LED的管腳分配如下:
    在這裏插入圖片描述
    所以需要配置的是PC13號管腳。

#include "led.h"  

//初始化PC13爲輸出口.並使能這個口的時鐘		    
//LED IO初始化
void LED_Init(void)
{ 
    GPIO_InitTypeDef GPIO_InitStructure;
 	
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);	 //使能PC端口時鐘
	
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;				 //LED2-->PC13 端口配置
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; 		 //推輓輸出
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;		 //IO口速度爲50MHz
    GPIO_Init(GPIOC, &GPIO_InitStructure);					 //根據設定參數初始化PC13
    GPIO_SetBits(GPIOC,GPIO_Pin_13);						 ////PC13輸出低,關閉所有LED						
}
#ifndef __LED_H
#define __LED_H	 
#include "sys.h"
#define LED0 PCout(13)	// PC13	

void LED_Init(void);//初始化
 				    
#endif

#include "sys.h"
#include "delay.h"
#include "usart.h"
#include "led.h"

int main(void)
{			  
	NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //設置NVIC中斷分組2:2位搶佔優先級,2位響應優先級
	uart_init(9600);	 //串口初始化爲9600
    delay_init();	    	 //延時函數初始化
    LED_Init();
     
	while(1)
    {
       LED0=0;
       delay_ms(1000);
       LED0=1;
       delay_ms(1000);
	}
}

SWD配置

  1. 由於我使用的是ST-LINK,所以這裏選擇ST-LINK debuger,然後選擇SW port:
    在這裏插入圖片描述
    在這裏插入圖片描述
  2. Flash Download選擇如下:
    在這裏插入圖片描述
    在這裏插入圖片描述
    最後選擇Download,實現SW下載。整個完整的stm32f103c8t6工程模板點擊這裏:百度網盤鏈接:w7xt
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章