我学习stm32使用的是f103c8t6核心板、洞洞板和外设,并没有使用开发板,我个人的观点是不要被开发板限制住,接线也是一门学问,可以同时学到些电路的知识,一举两得;我参考的是正点原子的教程,但是用的芯片和他们不一样,工程结构有借鉴,但是不完全一样,代码都是自己一行行敲的,也不涉及抄袭,就是想记录一下自己的学习过程,在这声明一下。
下载和调试器是 jlink ob ,tb上那种20多的就可以
配置MDK和建工程就跳过了,网上有详细教程,认真看看都会
工程文件里最重要是单片机的启动文件,一定要选对,比如我这个就是startup_stm32f10x_md.s,就是中等容量的f103芯片
下面上代码,注释都很清晰了,点亮RGB灯和点亮LED是一样的,只是RGB要控制3种颜色,怎么混合看个人喜好啦
这是led.c
#include "led.h"
#include "stm32f10x.h"
void LED_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOC , ENABLE); //GPIO C
//LED -> PC13
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13; //端口13
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //速度50MHz
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出
GPIO_Init(GPIOC, &GPIO_InitStructure);
//LED -> PC14
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_14;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOC, &GPIO_InitStructure);
//LED -> PC15
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_15;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOC, &GPIO_InitStructure);
}
这是led.h
#ifndef __LED_H
#define __LED_H
void LED_Init(void);
#endif
main函数
#include "stm32f10x.h"
#include "led.h"
#include "delay.h"
int main(void)
{
delay_init();
LED_Init();
while(1)
{
// RGB
PCout(15)=1;
delay_ms(500);
PCout(15)=0;
delay_ms(500);
PCout(14)=1;
delay_ms(500);
PCout(14)=0;
delay_ms(500);
PCout(13)=1;
delay_ms(500);
PCout(13)=0;
delay_ms(500);
PCout(15)=1;
PCout(14)=1;
delay_ms(500);
PCout(15)=0;
PCout(14)=0;
delay_ms(500);
PCout(15)=1;
PCout(13)=1;
delay_ms(500);
PCout(15)=0;
PCout(13)=0;
delay_ms(500);
PCout(13)=1;
PCout(14)=1;
delay_ms(500);
PCout(13)=0;
PCout(14)=0;
delay_ms(500);
PCout(15)=1;
PCout(14)=1;
PCout(13)=1;
delay_ms(500);
PCout(15)=0;
PCout(14)=0;
PCout(13)=0;
delay_ms(500);
}
}
上一篇:怎样用STM32 中的 I2C读写EEPROM(二)
下一篇:stm32 I2C问题 I2C_CheckEvent()
推荐阅读最新更新时间:2024-11-11 09:03
设计资源 培训 开发板 精华推荐
- LTC3624HMSE-3.3 3.3V 输出电压、2A 同步降压稳压器的典型应用,具有 800mA 突发钳位,fSW = 1MHz
- 使用 ROHM Semiconductor 的 BU4917 的参考设计
- 使用MC33772C实现ETPL通信的800V电池接线盒
- LT3479EDE 演示板,高电流升压 LED 驱动器,Vin = 2.7V-4.5V
- LTC6262HTS8 230 uA 电源电流运算放大器的典型应用
- LT1172CSW、12V/1.25A 负至正降压-升压转换器的典型应用
- 显示 A8519 LED 驱动器灵活输入/输出电压比的 SEPIC 配置的典型应用
- Si2415-EVB,带有 UART 接口的 SI2415 ISOmodem 芯片的评估板
- 用于工业的 1 灯、37W 电子镇流器灯驱动器
- LT3956UHE 演示板、80Vin、80Vout 恒流、恒压转换器