入門stm32的第一貼:
之前一直停留在51的水平,最近因為課題需要,硬著頭皮開始了stm32,主要是完成了以下學習目標:
1.完成了基於庫函式的stm32軟體框架的組建;
2.掌握了非中斷型的精準微秒級和毫秒級的延遲函式的使用。
主函式
/*
title:呼吸燈
author:小呼呼哈哈哈
*/#include
"led.h"
#include
"stm32f10x.h"
#include
"delay.h"
unsigned
int cycle1=
1000
,pwm_l;
intmain
(void
)gpio_resetbits
(gpiob,gpio_pin_15)
;delay_ms
(500);
delay_ms
(500);
for(pwm_l=cycle1-
1;pwm_l>
0;pwm_l--
)// gpio_setbits(gpiob,gpio_pin_15);//點亮
}}
非中斷型精準延遲函式
//不進入systic中斷精準延遲
#include
"stm32f10x.h"
#include
"delay.h"
void
delay_us
(u32 nus)
while
((temp&
0x01)&&
(!(temp&(1
<<16)
)));
//等待時間到達
systick->ctrl=
0x00
;//關閉計數器
systick->val =
0x00
;//清空計數器
}void
delay_ms
(u32 nms)
while
((temp&
0x01)&&
(!(temp&(1
<<16)
)));
//等待時間到達
systick->ctrl=
0x00
;//關閉計數器
systick->val =
0x00
;//清空計數器
}
delay.h函式
#include
"stm32f10x.h"
extern
void
delay_us
(u32 nus)
;extern
void
delay_ms
(u32 nms)
;
led函式
#include
"led.h"
void
led_init
(void
)
led.h函式
#ifndef __led_h
#define __led_h
#include
"stm32f10x.h"
/**************8位led的io口定義************/
#define pin_led (gpio_pin_8 | gpio_pin_9 | gpio_pin_10 | gpio_pin_11 | gpio_pin_12\
|gpio_pin_13 | gpio_pin_14 | gpio_pin_15)
void
led_init
(void);
#endif
STM32F10系列的管腳復用功能和AFIO
最近用stm32的spi介面和ti的cc3000通訊,首先配置spi介面,按照網路關於spi介面的配置例程配置好以後,發現spi不工作,用while迴圈傳送資料時,clk和mosi管腳沒有輸出訊號,然後各種找問題 首先檢查時鐘,然後看看各個管腳能不能被置位,復位,發現其gpio功能都是正常的。後來認...
嵌入式STM32F10學習 跑馬燈實驗
使用藍橋杯ct117e板子 庫函式版本 gpio輸出方式 推挽輸出 io口輸出高電平,led滅,輸出低電平,led點亮。鎖存器高電平開啟,低電平關閉 電路圖對應 鎖存口 le n le m pd2 led燈 d1 d8 h d0 h d7 m pc8 m pc15 define led0 pcout...
STM32f4基本定時器終端控制LED燈亮滅
stm32中的定時器分類 基本定時器 通用定時器 高階定時器 429有2 個高階定時器 10個通用定時器 2個基本定時器 基本定時器功能簡介 1 計數器 16bit 只能向上計數,只有 tim6 和tim7 2 沒有外部的 gpio 是內部資源,只能用來定時 3 時鐘來自 pclk1 可實現 1 6...