一、建立项目模板
这里的user中重复引用了system_stm32f10x.c
Output中选择Create HEXFile,并且可以选择输出路径。
Listing中可以选择输出路径。
然后在C/C++中加入两个宏:
STM32F10X_MD,USE_STDPERIPH_DRIVER
并且还要勾选One ELF Section per Function,加入头文件路径:
在Debug中,使用J-Link,并设置
在Utilities,选择J-Link并Setting中:
二、写点LED代码
GPIO初始化:
/**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)
{
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin = PIN_LED;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
/*打开LED使用的GPIO的时钟使能*/
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
/*进行初始化*/
GPIO_Init(GPIOB, &GPIO_InitStructure);
}
设置多位GPIO电平:
/****************************
* Function Name : LED_SET
* Description : 设置LED的状态,使用了8位。因为一次使用16位,所以要先读取
* Input : data
* Output : None
* Return : None
*****************************/
void LED_SET(uint8_t data)
{
uint16_t setValue;
setValue = GPIO_ReadOutputData(GPIOB);
setValue &= 0x00ff; //使用高8位
setValue |= (uint16_t)data <<8;
GPIO_Write(GPIOB, setValue);
}
简单的main函数
/****************************************************************************
* Function Name : main
* Description : Main program.
* Input : None
* Output : None
* Return : None
****************************************************************************/
int main(void)
{
LED_INIT();
LED_SET(0x0f);
while (1)
{
LED_SET(0xff);
Delay(10);
LED_SET(0x00);
Delay(10);
}
}
/*******************************************************************************
* Function Name : Delay
* Description : ???±???ò
* Input : c
* Output : None
* Return : None
*******************************************************************************/
void Delay(uint16_t c)
{
uint16_t a,b;
for(; c>0; c--)
for(a=1000; a>0; a--)
for(b=1000; b>0; b--);
}
可以直接设置单独的GIPO输出位:
GPIO_WriteBit(GPIOB, GPIO_Pin_15, Bit_SET);
GPIO_WriteBit(GPIOB, GPIO_Pin_15, Bit_RESET);
上一篇:STM32 JTAG接口PB3PB4配置为IO口使用问题
下一篇:Stm32使用Usart代码例子(轮询、中断、DMA)
推荐阅读最新更新时间:2026-03-24 11:51
- REF196 精密微功率、低压差堆叠电压基准的典型应用电路
- LTC4367IMS8 用于滞后调节的过压电源控制器的典型应用
- CLRC663非接触式读写器IC的典型应用
- 使用 ON Semiconductor 的 CS-5621 的参考设计
- RSO-0515S 15V、67mA输出DC/DC转换器典型应用电路
- NCP51200 3 Amp VTT 终端稳压器 DDR1、DDR2、DDR3、LPDDR3、DDR4 的典型应用
- LR645大电流SMPS启动电路典型应用
- ADR420 可编程电流源的典型应用
- DC417B,使用 LT1806CS8 多尺寸单运算放大器原型的演示板
- DM300019,用于评估 dsPIC30F 和 dsPIC33F MCU 系列器件的 dsPICDEM 入门开发板

stm32驱动屏IC rm68042
STM32 PMSM FOC 简介
基于STM32G031的测试测量训练平台完成虚拟仪器实现
现代雷达系统的信号设计
BFR340T






京公网安备 11010802033920号