STM32F103C8T6最小系统板实现蜂鸣器报警

这篇具有很好参考价值的文章主要介绍了STM32F103C8T6最小系统板实现蜂鸣器报警。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


接线图

STM32F103C8T6最小系统板实现蜂鸣器报警
SWD方式下载程序,4线,VCC,GND。
SWDIO:Serial Wire Data Input Output,串行数据输入输出引脚,作为仿真信号的双向数据信号线,建议上拉。
SWCLK:Serial Wire Clock,串行线时钟引脚,作为仿真信号的时钟信号线,建议下拉;
蜂鸣器的IO口接在了最小系统板的PB12引脚上。
蜂鸣器的操作方法和LED方式一样。 注:上图蜂鸣器是低电平有效。

一、配置RCC时钟

	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);

STM32任何外设**第一步都是先配置时钟。**GPIO都是挂载在APB2总线上的。

二、配置GPIO

1.引入库

推挽输出,PB12引脚,引脚速度50MHZ,因为本程序用来学习,没有考虑低功耗
最后一步就是调用STM32库函数,初始化GPIOB。这5句代码非常常用。一般都是这个套路。

GPIO_InitTypeDef GPIO_InitStructure;
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12;
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
	GPIO_Init(GPIOB, &GPIO_InitStructure);

while循环

代码如下(示例):

while (1)
	{
		GPIO_ResetBits(GPIOB, GPIO_Pin_12);
		Delay_ms(100);
		GPIO_SetBits(GPIOB, GPIO_Pin_12);
		Delay_ms(100);
		GPIO_ResetBits(GPIOB, GPIO_Pin_12);
		Delay_ms(100);
		GPIO_SetBits(GPIOB, GPIO_Pin_12);
		Delay_ms(700);
	}

这段程序的意思是
在while循环中,清除PB12引脚的数据(设置为低电平),延时100ms, PB12引脚置为1,延时100Ms,就是响,不响,响,不响,这样一直循环。
下面是两个函数的具体含义。


```c
/**
  * @brief  Clears the selected data port bits.
  * @param  GPIOx: where x can be (A..G) to select the GPIO peripheral.
  * @param  GPIO_Pin: specifies the port bits to be written.
  *   This parameter can be any combination of GPIO_Pin_x where x can be (0..15).
  * @retval None
  */
void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
{
  /* Check the parameters */
  assert_param(IS_GPIO_ALL_PERIPH(GPIOx));
  assert_param(IS_GPIO_PIN(GPIO_Pin));
  
  GPIOx->BRR = GPIO_Pin;
}

翻译:

  • @brief清除选中的数据端口位。
    • @param GPIOx:其中x可以是(A…G),用来选择GPIO外设。
    • @param GPIO_Pin:要写的端口位。
  • *该参数可以是GPIO_Pin_x的任意组合,其中x可以是(0…15)。
    • @retval无
/**
  * @brief  Sets the selected data port bits.
  * @param  GPIOx: where x can be (A..G) to select the GPIO peripheral.
  * @param  GPIO_Pin: specifies the port bits to be written.
  *   This parameter can be any combination of GPIO_Pin_x where x can be (0..15).
  * @retval None
  */
void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)
{
  /* Check the parameters */
  assert_param(IS_GPIO_ALL_PERIPH(GPIOx));
  assert_param(IS_GPIO_PIN(GPIO_Pin));
  
  GPIOx->BSRR = GPIO_Pin;
}

翻译:

* @brief设置所选数据端口位。
* * @param GPIOx:其中x可以是(A..G),用来选择GPIO外设。
* * @param GPIO_Pin:要写的端口位。
* *该参数可以是GPIO_Pin_x的任意组合,其中x可以是(0..15)* * @retval无

总结
资料来源:
1.STM32固件库
2.某站自化协教程。文章来源地址https://www.toymoban.com/news/detail-430239.html

到了这里,关于STM32F103C8T6最小系统板实现蜂鸣器报警的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Altium designer—STM32F103C8T6最小系统原理图

    分享使用Altium designer软件绘制的STM32F103C8T6最小系统电路原理图 亲测可用,完整电路文件资源见文末链接 一、电路原理图 STM32F103C8T6是STM32入门级的芯片,性价比很高,资源相对比较丰富,该最小系统包括STM32F103C8T6芯片、晶振电路、复位电路、供电电源电路、SWD下载电路、B

    2024年02月11日
    浏览(38)
  • [初学单片机]stm32f103C8T6最小系统板快速完成点亮led灯

    目录 一、准备工作 二、建立工程模板 三、配置keil5 四、程序 五、程序下载(烧录)  六、总结 ① keil5,自行下载安装; ② 库函数包,这里我上传了一个F1xx的库函数包,可以在建立工程模板的时候用到;1,STM32F1xx固件库.rar - 蓝奏云 ③ STM32F103C8T6最小系统班,淘宝十几块;

    2024年02月01日
    浏览(60)
  • 学习记录之STM32F103C8T6最小系统板驱动MPU6050串口打印数据

    1.使用到的工具介绍 2.MPU6050和整体和简单介绍 3.程序的介绍 1.使用到的工具介绍 硬件方面:STM32F103C8T6最小系统板核心板,MPU6050模块三维角度传感器,经典的CH340烧写和串口作用,和若干个杜邦线。 软件方面:keil5编写程序软件,烧写软件FlyMcu.exe烧写工具,sscom.exe串口调试工

    2023年04月09日
    浏览(62)
  • STM32F103C8T6系统板

    1.电源部分 2.复位 3.晶振 4. 电源电路——防反接 有关二极管 漫谈二极管防电源反接电路 本次采用上图右下角的NMOS防反接电路。 电源电路——电源芯片 AMS1117是AMS公司的 ,LM1117是NS(美国国家半导体)的,LM1117要贵很多,所以一般的用AMS1117就可以了。 (以下分析参考STM32F10

    2024年02月02日
    浏览(73)
  • 使用USB转TTL下载器将固件烧写到STM32F103C8T6最小系统板中

    ch340驱动下载地址: https://www.wch.cn/download/CH341SER_EXE.html mcuisp下载地址: 百度云盘资源: 链接:https://pan.baidu.com/s/1TuecWD0T1HTMkEpobuesFw 提取码:visk Flymcu下载地址: 百度云盘资源 链接:https://pan.baidu.com/s/1VxMUZFOVvpAf-L_YbATMag 提取码:fasf usb转TTL下载器的跳线帽接3V3 开发板BOOT0跳线

    2024年01月18日
    浏览(52)
  • 使用串口烧写程序到STM32F103C8T6最小板(CH340)

    商家没给ST‐LINK V2下载器,故使用串口将程序烧录到最小板,使用仿真软件Flymcu进行。(默认安装过CH340的驱动) 联机下载时的程序文件:编译生成的.hex文件; 编程前重装文件:当选中该项后,flymcu会在每次编程之前将Hex文件重新装载一遍,这对于代码调试的时候比较有用

    2024年02月01日
    浏览(58)
  • STM32项目设计:基于stm32f103c8t6智能电梯系统

    资料链接:待更新~ 哔哩哔哩视频链接:https://www.bilibili.com/video/BV17D4y1V7HG/?vd_source=e5082ef80535e952b2a4301746491be0(bilibili:化作尘my) 资料链接:https://pan.baidu.com/s/1qObK7KBl50RmFrAtoX12kw 提取码:iih4 实物链接:https://m.tb.cn/h.5h5mDXI?tk=MdxLWYHgKnz CZ0001 1、OLED显示当前楼层、目标楼层等信息

    2024年02月03日
    浏览(57)
  • 摇杆按键+SG90 实现舵机云台(STM32F103C8T6)

    STM32F103C8T6最小系统板*1 SG90舵机(180°)*2 摇杆按键*1 舵机支架*1 面包板*1(非必须) 杜邦线若干 类似这种的支架,不过需要自己裁切嵌入的部分 代码很简单,主要使用ADC双通道读取两个电位器的值(实际上就是电压),通过获取到的值的范围来确定上下左右,从而来改变两

    2024年02月14日
    浏览(55)
  • 【STM32】STM32F103C8T6串口通信,实现3个串口收发数据

    串口通信(Serial Communications)实现单片机与电脑或者其它外设进行通信,通信时只需两根线(TX,RX)就可以实现数据传输。STM32f103有三个串口,分别为串口1(RX PA10, TX PA 9),串口2(RX PA3,TX PA2),串口3(RX PB11,TX PB10)。 以下代码是配置三个串口: usart.c usart.h main.c 注意,

    2024年02月12日
    浏览(54)
  • STM32F103C8T6板子介绍

    STM32简介 STM32是ST公司基于ARM Cortex-M内核开发的32位微控制器 STM32常应用在嵌入式领域,如智能车、无人机、机器人、无线通信、物联网、工业控制、娱乐电子产品等 STM32功能强大、性能优异、片上资源丰富、功耗低,是一款经典的嵌入式微控制器。  STM32F103C8T6 F1XX片上资源

    2024年02月11日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包