焊接初體驗和stm32最小系統板用J-link下載使用方法
**焊接初體驗**
初級焊接需要電烙鐵、高溫海綿(開始前用冷水浸濕)、焊錫絲、鑷子、助焊劑、剪鉗,
電烙鐵的烙鐵頭即其適用種類有如下幾種:

電烙鐵調溫數顯電焊臺:


焊接步驟:
1.用冷水完全打濕高溫海綿,打開電烙鐵,將溫度除錯近380度左右,等待烙鐵頭溫度升高,
2.(根據個人習慣)左手拿電焊絲,右手斜拿電烙鐵,左手距焊絲尖端距離5-7CM,不要太近防止被高溫烙頭燒到手指,右手不要觸碰防滑隔熱手柄下方的地方,
3.將電烙頭放置需要焊接處 ,預熱板子1-3s,將焊絲送至焊接處,待焊絲融化,迅速撤出錫絲再撤烙鐵頭(動作不要太大),焊接中途攜帶口罩或看到白煙用嘴吹走,防止鉛中毒,
4.為保持烙鐵頭上的焊錫干凈,“新鮮”,焊頭上錫過多找高溫海綿上蹭掉或磕掉,
5.連接相鄰兩個介面時,在中間再焊接一個點,融化適量錫,不要過多或過少,
注:焊接指示圖

J-LINK下載keil除錯
1.首先將J-link正確的連接電腦和開發板,給開發板上電;然后打開keil mdk,點擊Options for target‘target 1’…快捷圖示,如下圖所示:

2.打開Device,改成STM32F103C8的最小系統板,

3.打開C/C++,將Define中的前面資訊刪掉,

4.點擊Debug,將Use中改成J-LINK/J-TPACE Cortex,之后點擊Settings,

5.出來頁面后,點擊Debug,將Port出改為JTAG,Max改為10MHZ,

6.點擊Flash Download,將Program,Verify,Reset and Run選上,選擇STM32F10x Med-density,點擊添加,點擊確定,
7. 使用keil界面下的“load”按鈕(
)下載程式,
使用stm32最小系統板的呼吸燈
main.c
#include "led.h"
#include "delay.h"
#include "sys.h"
#include "pwm.h"
//ALIENTEK Mini STM32開發板范例代碼8
//PWM輸出實驗
//技術支持:www.openedv.com
//廣州市星翼電子科技有限公司
int main(void)
{
u16 led0pwmval=0;
u8 dir=1;
delay_init(); //延時函式初始化
LED_Init(); //初始化與LED連接的硬體介面
TIM1_PWM_Init(229,0);//不分頻,PWM頻率=72000/(449+1)=160Khz
while(1)
{
delay_ms(3);
if(dir)led0pwmval++;
else led0pwmval--;
if(led0pwmval>300)dir=0;
if(led0pwmval==0)dir=1;
TIM_SetCompare1(TIM1,led0pwmval);
}
}
led.c
#include "led.h"
//初始化PB5和PE5為輸出口.并使能這兩個口的時鐘
//LED IO初始化
void LED_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOD, ENABLE); //使能PA,PD埠時鐘
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8; //LED0-->PA.8 埠配置
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽輸出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //IO口速度為50MHz
GPIO_Init(GPIOA, &GPIO_InitStructure); //根據設定引數初始化GPIOA.8
GPIO_SetBits(GPIOA,GPIO_Pin_8); //PA.8 輸出高
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2; //LED1-->PD.2 埠配置, 推挽輸出
GPIO_Init(GPIOD, &GPIO_InitStructure); //推挽輸出 ,IO口速度為50MHz
GPIO_SetBits(GPIOD,GPIO_Pin_2); //PD.2 輸出高
}
pwm.h
#ifndef __PWM_H
#define __PWM_H
#include "sys.h"
void TIM1_PWM_Init(u16 arr,u16 psc);
#endif
Pwm.c
#include "pwm.h"
#include "led.h"
//PWM輸出初始化
//arr:自動重裝值
//psc:時鐘預分頻數
void TIM1_PWM_Init(u16 arr,u16 psc)
{
GPIO_InitTypeDef GPIO_InitStructure;
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
TIM_OCInitTypeDef TIM_OCInitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE);//
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA , ENABLE); //使能GPIO外設時鐘使能
//設定該引腳為復用輸出功能,輸出TIM1 CH1的PWM脈沖波形
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8; //TIM_CH1
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; //復用推挽輸出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure);
TIM_TimeBaseStructure.TIM_Period = arr; //設定在下一個更新事件裝入活動的自動重裝載暫存器周期的值 80K
TIM_TimeBaseStructure.TIM_Prescaler =psc; //設定用來作為TIMx時鐘頻率除數的預分頻值 不分頻
TIM_TimeBaseStructure.TIM_ClockDivision = 0; //設定時鐘分割:TDTS = Tck_tim
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; //TIM向上計數模式
TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure); //根據TIM_TimeBaseInitStruct中指定的引數初始化TIMx的時間基數單位
TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM2; //選擇定時器模式:TIM脈沖寬度調制模式2
TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; //比較輸出使能
TIM_OCInitStructure.TIM_Pulse = 0; //設定待裝入捕獲比較暫存器的脈沖值
TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High; //輸出極性:TIM輸出比較極性高
TIM_OC1Init(TIM1, &TIM_OCInitStructure); //根據TIM_OCInitStruct中指定的引數初始化外設TIMx
TIM_CtrlPWMOutputs(TIM1,ENABLE); //MOE 主輸出使能
TIM_OC1PreloadConfig(TIM1, TIM_OCPreload_Enable); //CH1預裝載使能
TIM_ARRPreloadConfig(TIM1, ENABLE); //使能TIMx在ARR上的預裝載暫存器
TIM_Cmd(TIM1, ENABLE); //使能TIM1
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/80040.html
標籤:其他
上一篇:QTDAY02
