pwm.c

#include "pwm.h"//蜂鸣器初始化 TIM4_CH1   PB6
void hal_beep_init()
{//rcc章节初始化RCC->MP_APB1ENSETR |= (0x1<<2);//使能GPIOB组RCC->MP_AHB4ENSETR |= (0x1<<1);//gpio章节初始化GPIOB->MODER &= (~(0x3<<12));GPIOB->MODER |=  (0x2<<12);GPIOB->AFRL &= (~(0xf<<24));GPIOB->AFRL |= (0x2<<24); //AF2//time4章节初始化//TIMx_CR1//设置自动重载计数器使能  TIM4->CR1 |= (0x1<<7); //设置边沿对齐模式TIM4->CR1 &= (~(0x3<<5));//设置递减计数方式TIM4->CR1 |= (0x1<<4);//设置计数器使能TIM4->CR1 |= (0x1<<0);//TIMx_CCER// 设置捕获/比较寄存输出极性TIM4->CCER |= (0x1<<3);//设置捕获/比较寄存输出极性,起始状态为高电平TIM4->CCER &= (~(0x1<<1));//设置捕获/比较寄存输出使能TIM4->CCER |= (0x1<<0);//TIMx_CCMR1//设置输出模式为PWM模式TIM4->CCMR1 &= (~(0x1<<16));TIM4->CCMR1 &= (~(0x7<<4));//TIM4->CCMR1 |= (~(0x6<<4));TIM4->CCMR1 |= (0x6<<4);TIM4->CCMR1 |= (0x1<<3);TIM4->CCMR1 &= (~(0x3<<0));//设置TIMx_PSC寄存器TIM4->PSC |= (209-1);//TIMx_ARR寄存器TIM4->ARR |= 1000;// TIMx_CCR1TIM4->CCR1 |= 300;}//风扇初始化  TIM1_CH1 PE9
void hal_fan_init()
{//rcc章节初始化//使能GPIOE组RCC->MP_APB2ENSETR |= (0x1<<0);RCC->MP_AHB4ENSETR |= (0x1<<4);//gpio章节初始化GPIOE->MODER &= (~(0x3<<18));GPIOE->MODER |=  (0x2<<18);GPIOE->AFRH &= (~(0xf<<4));GPIOE->AFRH |= (0x1<<4); //AF1//time1章节初始化//TIMx_CR1//设置自动重载计数器使能  TIM1->CR1 |= (0x1<<7); //设置边沿对齐模式TIM1->CR1 &= (~(0x3<<5));//设置递减计数方式TIM1->CR1 |= (0x1<<4);//设置计数器使能TIM1->CR1 |= (0x1<<0);//TIMx_CCER// 设置捕获/比较寄存输出极性TIM1->CCER |= (0x1<<3);//设置捕获/比较寄存输出极性,起始状态为高电平TIM1->CCER &= (~(0x1<<1));//设置捕获/比较寄存输出使能TIM1->CCER |= (0x1<<0);//TIMx_CCMR1//设置输出模式为PWM模式TIM1->CCMR1 &= (~(0x1<<16));TIM1->CCMR1 &= (~(0x7<<4));//TIM1->CCMR1 |= (~(0x6<<4));TIM1->CCMR1 |= (0x6<<4);TIM1->CCMR1 |= (0x1<<3);TIM1->CCMR1 &= (~(0x3<<0));//设置TIMx_PSC寄存器TIM1->PSC |= (209-1);//TIMx_ARR寄存器TIM1->ARR |= 1000;// TIMx_CCR1TIM1->CCR1 |=   1000;TIM1->BDTR |= (0x1<<15);}//马达初始化 TIM16_CH1 PF6
void hal_motor_init()
{//rcc章节初始化//使能GPIOF组RCC->MP_APB2ENSETR |= (0x1<<3);RCC->MP_AHB4ENSETR |= (0x1<<5);//gpio章节初始化GPIOF->MODER &= (~(0x3<<12));GPIOF->MODER |=  (0x2<<12);GPIOF->AFRL &= (~(0xf<<24));GPIOF->AFRL |= (0x1<<24); //AF1//time16章节初始化//TIMx_CR1//设置自动重载计数器使能  TIM16->CR1 |= (0x1<<7); //设置边沿对齐模式TIM16->CR1 &= (~(0x3<<5));//设置递减计数方式TIM16->CR1 |= (0x1<<4);//设置计数器使能TIM16->CR1 |= (0x1<<0);//TIMx_CCER// 设置捕获/比较寄存输出极性TIM16->CCER |= (0x1<<3);//设置捕获/比较寄存输出极性,起始状态为高电平TIM16->CCER &= (~(0x1<<1));//设置捕获/比较寄存输出使能TIM16->CCER |= (0x1<<0);//TIMx_CCMR1//设置输出模式为PWM模式TIM16->CCMR1 &= (~(0x1<<16));TIM16->CCMR1 &= (~(0x7<<4));TIM16->CCMR1 |= (0x6<<4);TIM16->CCMR1 |= (0x1<<3);TIM16->CCMR1 &= (~(0x3<<0));//设置TIMx_PSC寄存器TIM16->PSC |= (209-1);//TIMx_ARR寄存器TIM16->ARR |= 1000;// TIMx_CCR1TIM16->CCR1 |=  700;TIM16->BDTR |= (0x1<<15);}

STM32MP157 A7核蜂鸣器,风扇,马达相关推荐

  1. STM32MP157驱动开发——蜂鸣器设备驱动

    STM32MP157驱动开发--蜂鸣器设备驱动 0.相关知识 一.驱动程序开发 1.设备树修改 2.启动程序编写 3.测试程序编写 二.编译及运行测试 0.相关知识   蜂鸣器常用于计算机.打印机.报 ...

  2. 基于STM32MP157A的蜂鸣器,马达,震动马达PWM实验

    PWM实验 PWM概念 代码实现 pwm.c pwm.h main.c PWM概念 1.PWM:脉冲宽度调制定时器 2.脉冲:方波信号,高低电平的变化产生方波信号 3.周期:高低电平变化所需要的时间, ...

  3. Arduino UNO R3开发板+MQ-2烟雾浓度传感器+火焰传感器+舵机+无源蜂鸣器+风扇+步进电机+WIFI模块+RGB三色LED灯+SIM900A所构成的室内安全报警模块

    该系统模块主要由Arduino UNO R3开发板+MQ-2烟雾浓度传感器+火焰传感器+舵机+无源蜂鸣器+风扇+步进电机+WIFI模块+RGB三色LED灯+SIM900A所组成,MQ-2烟雾浓度传感器 ...

  4. 10.1 LED灯实验(A7核和M4核)

    文章目录 LED灯实验 分析 原理图 芯片手册 RCC章节 GPIO章节 实现代码 A7核 gpio.h gpio.c main.c M4核 实验现象 LED灯实验 分析 原理图 LED灯的丝印为LD ...

  5. PWM方波驱动风扇,蜂鸣器,马达工作

    重点:会分析电路图,确定总线和引脚,通过这两个找到对应的地址设置相应位置上的值.库函数中已经封装好了相应的结构体指针对应的地址,可以直接根据名字访问结构体成员.使用非常方便 #include &quo ...

  6. STM32MP157开发笔记 | 02 - 开发环境搭建(A7核、M4核)

    一.STM32MP157 1. 系列介绍 STM32MP157微处理器基于灵活的双Arm® Cortex®-A7内核(工作频率800 MHz)和Cortex®-M4内核(工作频率209 MHz)架构, ...

  7. cortex - A7核中断实验——基于STM32MP157A

    一:按键中断原理 异常中断处理流程 分为保存现场和恢复现场两部分 1:保存现场 CPSR寄存器:当前程序状态寄存器 此步骤由电脑自动完成,分为四大步三小步 1:保存CPSR寄存器中的值到SPSR_&l ...

  8. ARM接口实验-LED灯实验(A7核)

    一.实现原理分析 本次实验使用开发板为:SRM32MP157A-FSMP1A, LED灯丝印为:LD1.LD2.LD3,通过查询电路图可知其对应引脚为:LD1->PE10.LD2->PF1 ...

  9. PWM实验:蜂鸣器、风扇和马达

    1.作业要求 编写蜂鸣器/风扇/马达代码. 2.实现过程 1)pwm.h头文件 #ifndef __PWM_H__ #define __PWM_H__#include "stm32mp1xx ...

最新文章

  1. 个人管理 - 目标管理之前,你会时间管理吗
  2. linux 安装rpm no key,yum 安装报 关于Public key for *.rpm is not installed 的解决方法
  3. html制作第二页,订单第二页.html
  4. MFC Initinstance中DoModal()返回-1
  5. MyEclipse软件中快捷键
  6. 一个微信公众号接入另一个微信公众号的内容
  7. Java编写简单密码问题
  8. ajax长轮询 java web_网页实时聊天之js和jQuery实现ajax长轮询
  9. Hbase过滤器与scala编程
  10. 基于TCP的网络编程
  11. PHP直播源码js判断浏览器版本
  12. win7安装后计算机不在桌面,win7重装系统后进不了桌面的解决措施
  13. 将MATLAB中不显示个别图例,隐藏图中某些图形对象的MATLAB图例条目
  14. python凹多边形分割_Unity 凹多边形三角剖分
  15. CC2530天线发射功率与接收灵敏度——玩转ZigBee的高端操作(Zstack框架)
  16. 计算机替换字体怎么操作,字体管家怎么换字体 电脑更换字体的教程介绍
  17. 微信开发工具调试公众号
  18. UART2USB芯片PL2303驱动安装说明
  19. 愚人节的礼物(HDU1870)
  20. 服务器c盘logs文件夹,Win10系统Logs文件夹有什么作用?Logs文件夹可以删除吗?

热门文章

  1. SNMPSarpNet通过OID获取计算机或计算机所连的硬件信息
  2. 第十三周 【项目2 - 二叉树排序树中查找的路径】
  3. Mahout算法调用展示平台2.1
  4. 【服务器数据恢复】hp服务器raid5磁盘掉线导致raid5不可用的数据恢复案例
  5. python阶乘函数_python阶乘函数
  6. python按需从网易云下载你喜欢的歌手的所有歌曲
  7. layui select根据后台数据显示下拉框
  8. 深度学习 交叉熵损失函数
  9. java 图片 哈希值_上传图片用图片文件的对象hash哈希值判断图片是否一样,避免重复提交相同的图片到服务器中...
  10. word将乱序文档编成顺序 去掉自动编号保留序号为字符串