stm32f103c8t5 горит

Совет: после того, как статья написана, оглавление может быть сгенерировано автоматически, как его сгенерировать, можно посмотреть в справочном документе справа.



提示:以下是本篇文章正文内容,下面案例可供参考

1. Модульное программирование

При написании кода драйвера имеется только один исходный файл,
первая функция в нем является основной функцией, за которой следует множество функций периферийного драйвера, поэтому весь код раздут и перемешан, что не способствует
нашему обслуживанию или вторичной разработке, так что очень нужно каждому освоить модульное программирование. Так называемое модульное программирование означает, что .c
(исходный файл) соответствует .h (заголовочный файл), и каждое периферийное устройство имеет соответствующие .c и .h, так что для использования определенного периферийного драйвера
вам нужно только достаточно включить соответствующие заголовочные файлы, такое модульное программирование очень способствует развитию и трансплантации.

2. Начните освещение

1. Добавить стандартную библиотеку

Стандартная библиотека — это официальная библиотека stm32, которая определяет множество функций, которые мы можем вызывать.То, что «освещение» должно управлять, — это периферийное устройство GPIO, поэтому нам нужно добавить стандартную библиотеку GPIO
.
вставьте сюда описание изображения

2. Файл драйвера led.c

Это файл для инициализации порта ввода-вывода микроконтроллера.Каждое периферийное устройство должно быть инициализировано, прежде чем его можно будет использовать, точно так же, как переменная int a=0 в языке c, это необходимо инициализировать, прежде чем его можно будет использовать.

#include "stm32f10x.h"

void LED_Init(void)
{
    
    
	GPIO_InitTypeDef GPIO_InitStruct; //定义GPIO结构体变量
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE); //使能GPIO的时钟
	
	GPIO_InitStruct.GPIO_Pin=GPIO_Pin_13;//配置GPIO第13引脚
	GPIO_InitStruct.GPIO_Mode=GPIO_Mode_Out_PP;//配置GPIO为通用推挽输出
	GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz;//配置GPIO速率
	GPIO_Init(GPIOC,&GPIO_InitStruct);//GPIO初始化函数

	GPIO_SetBits(GPIOC,GPIO_Pin_13);//pc13引脚置位(高电平),初始化灯熄灭



}

Данные, запрошенные сетью URL-адресов, используемых здесь.


3. Заголовочный файл led.h

Заголовочный файл — это файл, используемый для хранения функции драйвера, поместите его в основной файл, вы можете вызвать функцию в led.c.

#ifndef _LED_H
#define _LED_H

void LED_Init(void);
#endif


4. Схема

Узнаем, глядя на принципиальную схему.
USER_LED соответствует контакту PC13.Из схемы управления светодиодом нетрудно увидеть, что когда выход PC13 находится на высоком уровне,
напряжение на обоих концах светодиода находится на высоком уровне.Когда уровень низкий , светодиод
находится в состоянии прямой проводимости, и свет будет гореть.
вставьте сюда описание изображения

5. Сжигание

Вы можете использовать usb to ttl для записи. Поскольку моя плата поставляется с этим чипом, его можно напрямую вставить в линию передачи данных для записи.

Подведем итог

После включения фар приступить к работе, последующие драйвера писать будет несложно.
вставьте сюда описание изображения

Код освещения—————Нажмите здесь

Ссылка: https://pan.baidu.com/s/1aNNpzuA5XlxiXQFKr_vgqQ
Код извлечения: 1234
Нажмите здесь

Supongo que te gusta

Origin blog.csdn.net/lianghuajunone/article/details/123450567
Recomendado
Clasificación