欢迎使用Markdown编辑器

我想在Linkit Smart MT7688上使用PWM做个呼吸灯,使用的内核版本OpenWrt,chaos_calmer
15.05固件,参考的小鱼儿的博客。步骤如下:
step1:修改makefile中的配置

define KernelPackage/mt7688_pwmSECTION:=utilsCATEGORY:=mt7688_pwmTITLE:=mt7688_pwmAUTOLOAD:=$(call AutoLoad,81,mt7688_pwm)  #内核自动挂载  FILES:=$(PKG_BUILD_DIR)/mt7688_pwm.koKCONFIG:=
endef

这样修改makefile,在openwrt的make menuconfig中就能看到该驱动,选择‘*’ built-in。
step2:放入openwrt/package目录下
step3:make V=s得到带有pwm驱动的固件
step4:下载固件,在Linkit Smart MT7688上的dev目录下可以看到自动加载的pwm驱动。

另外:
1 .mt7688_pwm.c中的setup_gpio错误初始化了ttyS1,我的代码里面已经隐藏了。

   value  = le32_to_cpu(*(volatile u32 *)(RALINK_GPIOMODE));  value  |= (2 << 24);  *(volatile u32 *)(RALINK_GPIOMODE) = cpu_to_le32(value);

这是把ttyS1的两个IO初始化为gpio,如果用到ttyS1,需要隐藏这三行代码。
2 .如果想输出两路pwm,"struct pwm_cfg cfg,cfg1"加一个变量就能单独控制了。
下载地址:百度云盘 提取码: prs2

OpenWrt PWM呼吸灯相关推荐

  1. LabVIEW控制Arduino实现PWM呼吸灯(基础篇—5)

    目录 1.实验目的 2.实验环境 3.程序设计 4.实验演示 1.实验目的 利用LIAT中的模拟I/O函数库,通过LabVIEW和Arduino Uno控制板实现LED灯亮度的调节,产生灯会呼吸的效果 ...

  2. STM32F030C8T6单片机PWM呼吸灯寄存器配置

    STM32F030C8T6单片机PWM呼吸灯寄存器配置: TIM3_CR1:控制寄存器 BIT8~BIT9:CKD 与外部输入时钟有关,不使用外部时钟输入,所以不操作BIT8~BIT9,设置为00 B ...

  3. FPGA项目三:PWM呼吸灯

    文章目录 第一节 项目背景 第二节 设计目标 第三节 设计实现 3.1顶层设计 3.2 信号设计 3.3 信号定义 第四节 综合和上板 4.1 新建工程 4.2 综合 4.3 配置管脚 4.4 再次综 ...

  4. 赛元微SC92F7352 PWM呼吸灯应用

    赛元微SC92F7352 PWM呼吸灯应用 单片机脚位图 #include <SC92F735X_C.H> #include "intrins.h" #define u ...

  5. 基于FPGA开发板使用Verilog设计PWM呼吸灯实验

    基于FPGA开发板使用Verilog设计PWM呼吸灯实验 1,实验原理 2,实验模块设计 2.1 RTL设计,呼吸灯模块设计 2.2,测试数据,下载到FPGA开发板板级的数据 2.3,两个模块综合的n ...

  6. STM32 CubeMx(二)定时器中断和PWM呼吸灯

    STM32 CubeMx(一)时钟树配置与GPIO输入输出 文章目录 1.定时器 1.1 定时器概念 1.2 定时器分类 1.3 定时器功能 1.4 配置过程和编写代码 1.5 代码分享 2.PWM产 ...

  7. 【Verilog HDL 训练】第 10 天(PWM 呼吸灯)

    5月8日 PWM 用verilog实现PWM控制呼吸灯.呼吸周期2秒:1秒逐渐变亮,1秒逐渐变暗.系统时钟24MHz,pwm周期1ms,精度1us. 今天的题目我是第一次见,答案借鉴大神的:Veril ...

  8. 软件模拟PWM——呼吸灯小程序的理解

    呼吸灯就是类似人的呼吸一样,一呼一吸,灯的变化是从亮到灭再到亮的过程,是一个循序渐进的过程,而不是一个跳变. 通过软件模拟PWM,可以达到呼吸灯的效果. PWM即脉冲宽度调制,简单地说,就是一段时间为 ...

  9. stm32定时器输出pwmIO口模拟pwm——呼吸灯

    文章目录 前言 一.pwm(脉冲宽度调制) 1.基本原理 2.PWM的优点 3.PWM波的控制方法 二.定时器的相关介绍 1.stm32定时器 2.通用定时器计数模式 3.定时器的基本工作原理 三.定 ...

最新文章

  1. 实战:车牌识别之车牌定位
  2. R语言使用ggplot2包使用geom_dotplot函数绘制分组点图(自定义分组颜色、主题)实战(dot plot)
  3. zabbix告警升级的迷惑
  4. keil 器件是空的,Keil的Device为空,不能选择器件
  5. minEnclosingCircle函数
  6. vivado 亚稳态_【vivado学习五】时序分析
  7. MFC提供的集合类CStringArray类和CPtrArray类
  8. 【转】Python 简介
  9. 组态王7.5安装教程
  10. 论文创新,可以看看这几篇去雨文章是怎么做的
  11. 5.单行函数,多行函数,字符函数,数字函数,日期函数,数据类型转换,数字和字符串转换,通用函数(case和decode)
  12. html中列表、表格、合并单元格
  13. var radioname = new array();_体坛观察丨争议判罚不止中超 为何VAR屡成足坛焦点?_足球...
  14. 开课吧9.9学python课_python 自动化运维 零基础入门 课程
  15. 仿9GAG制作过程(四)
  16. openbsd运行Linux应用程序,OpenBSD上的服务管理程序rcctl
  17. autoit v3安装
  18. OSError: exception: access violation writing 0x000000003F800000
  19. MATLAB将csv文件转换成mat文件
  20. java 字体变形_字符串变形-Java

热门文章

  1. 佳能2420报错代码E000007-0000
  2. 断章取义:时光不负有心人
  3. openGL结合光照与纹理
  4. vue 获取动态域名_vue项目接口域名动态获取操作
  5. 《Windows 8 权威指南》——1.2 Windows 8平板模式下IE浏览器网页
  6. python画魄罗代码_LOL:灵魂画师在这里!玩家手绘冰雪节魄罗
  7. 某些PDF文档在福昕阅读器无法高亮标注以及注释等
  8. HTTPS访问Git远程仓库,上报SSL证书错误解决方法
  9. 135编辑器怎么复制html,微信公众号怎么复制别人的图文排版(图文模板复制方法)...
  10. mysql cpu 内存的选择