基于ARM的频率计设计_第1页
基于ARM的频率计设计_第2页
基于ARM的频率计设计_第3页
基于ARM的频率计设计_第4页
基于ARM的频率计设计_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

电控学院电控学院 课程设计 论文 课程设计 论文 课程名称 ARM 课程设计 题 目 基于 ARM 的频率计系统设计 院 系 电 xxxxxxxxxxxxxxx 专业班级 测控技术与与仪器 xxxx 班 姓 名 xxxxxxxxxxxx 学 号 xxxxxxxxxxxxxxxxxxxxxxxxx 指导教师 xxxxxxxxxxxxxxxxxxxxxxx 2017 年 1 月 6 日 摘摘 要要 随着移动设备的流行和发展 嵌入式系统已经成为一个热点 它并不是最近出现的新技术 只是随着微电子技术和计算机技术 的发展 微控制芯片功能越来越大 而嵌入微控制芯片的设备和 系统越来越多 从而使得这种技术越来越引人注目 它对软硬件 的体积大小 成本 功耗和可靠性都提出了严格的要求 嵌入式 系统的功能越来越强大 实现也越来越复杂 随之出现的就是可 靠性大大降低 最近的一种趋势是一个功能强大的嵌入式系统通 常需要一种操作系统来给予支持 这种操作系统是已经成熟并且 稳定的 可以是嵌入式的 Linux WINCE 等等 本文所要研究的 就是基于 ARM 嵌入式系统的频率计系统的设计与实现 本设计 采用了 32 位 ARM 微处理器 STM32F103 作为核心处理器和 ARM Linux 作为嵌入式操作系统 实现了单位周期的频率计数 采用 串口与基于 Labview 的上位机实现通信 将实时结果显示在上位 机的界面 关键词 嵌入式系统 ARM STM32F103 嵌入式 linux Labview 前前 言言 在电子技术各参数中 频率测量的精确度是最高的 因而人们 常利用某种确定的函数关系把其他电参数的精确测量转换为频率 的测量 目前 测量频率方法主要有低频测周期 高频测频率 多 周期同步测量法以及多周期完全同步测频法 采用低频端测周 高频端测频时 存在中界频率测量误差大即测量死区问题 因此频 率的测量准确度很难提高到较高的数量级 采用多周期完全同步测 频法 则闸门控制时间必须是被测信号与时标信号周期个数的最 大公约数 因此进行一次完全同步测量需要很长的时间 不适于对 实时性要求较高的场合 多周期同步测频法 其最大优点就是与被 测信号频率大小无关 测量速度快 精度高 但多周期同步测量法 存在同步电路结构复杂 易造成误触发 可靠性不高 且此方法虽在 原理上消除了 1 量化误差 但在实际应用中 经过同步电路之后 只消除了 1 量化误差 仍不能保证完全消除 1 量化误差 因此测量 精度会间歇性的出现较大偏差等问题 集成数字频率计由于所用 元件少 投资少 体积小 功耗低 且可靠性高 功能强 易于设计和研 发 使得它具有技术上的实用性和应用的广泛性 不论从我们用的 彩色电视机 电冰箱 DVD 还有我们现在家庭常用到的数字电 压表数字万用表等等都包含有频率计 现在频率计已是向数字智 能方向发展 即可以很精确的读数也精巧易于控制 数字频率计 已是现在频率计发展的方向 它不仅可以很方便的读数 而且还可 以使频率的测量范围和测量准确度上都比模拟先进 而且频率计的 使用已是很多的方面 数字卫星 数字通讯等高科技的领域都有应 用 所以频率计的发展是一个整体的趋势 一 系统概述 1 STM32F103 简介 ARM 公司是专门从事基于 RISC 技术芯片设计开发的公司 作为知 识产权供应商 本身不直接从事芯片生产 靠转让设计许可由合作公司生 产各具特色的芯片 世界各大半导体生产商从 ARM 公司购买其设计的 ARM 微处理器核 根据各自不同的应用领域 加入适当的外围电路 从 而形成自己的 ARM 微处理器芯片进入市场 目前 全世界有几十家大的 半导体公司都使用 ARM 公司的授权 因此既使得 ARM 技术获得更多的 第三方工具 制造 软件的支持 又使整个系统成本降低 使产品更容易 进入市场被消费者所接受 更具有竞争力 STM32F103xx 增强型系列由意法半导体集团设计 使用高性能的 ARM Cortex M3 32 位的 RISC 内核 工作频率为 72MHz 内置高速存储器 高达 128K 字节的闪存和 20K 字节的 SRAM 丰富的增强 I O 端口和联 接到两条 APB总线的外设 所有型号的器件都包含 2 个 12 位的 ADC 4 个通用 16 位定时器和 2 个高级定时器 还包含标准和先进的通信接口 多 达 2 个 I2C 和 SPI 3 个 USART 一个 USB 和一个 CAN 2 总体方案设计 本次频率计系统设计采用以 STM32F103xx 系列芯片为核心 由于 F103 系列芯片的内部资源较多 本次设计充分利用芯片内部资源 设计出 高精度的频率计系统 STM32F103 待测信号 发生模块 定时器 上位机显示结果 图 系统整体框图 系统的主体功能是充分利用定时器 用 32 内部的通用定时器 3 的复用 功能 输入捕获 通过输入捕获对外部输入 STM32 芯片内部的脉冲上升 沿计数 输入捕获功能可以实现每一次外部脉冲输入的上升沿引 发一次中断 再通过通用定时器 4 定时一秒 通过定时一秒钟计 算输入捕获中断次数来判断钟外部脉冲输入的频率 最后将这个 数据传送给上位机通过虚拟仪器 LABVIEW 来显示出频率 设计中考虑到采用 STM32F103 开发板作为硬件基础 板子承受的最大电 压为 3 3V 而且程序调试中如果接入外部脉冲输入 不能够立即查询出问 题所在 所以通过芯片内部资源通用定时器 5 的复用功能输出 PWM 波来 模拟外部脉冲输入 这样也可以更加简化硬件设计 所以本次系统充分利 用 32 芯片内部定时器资源来设计系统 图 系统设计流程图 二 整体功能设计 1 STM32 通用定时器简介 STM32 的通用定时器是一个通过可编程预分频器 PSC 驱动的 16 位自动装载计数器 CNT 构成 STM32 的通用定时器可以被用于 测量输入信号的脉冲长度 输入捕获 或者产生输出波形 输出比较和 PWM 等 使用定时器预分频器和 RCC 时钟控制器预分频器 脉冲长度和波形 周期可以在几个微秒到几个毫秒间调整 STM32 的每个通用定时器都是 完全独立的 没有互相共享的任何资源 STM3 的通用 TIMx TIM2 TIM3 TIM4 和 TIM5 定时器功能包括 1 16 位向上 向下 向上 向下自动装载计数器 TIMx CNT 2 16 位可编程 可以实时修改 预分频器 TIMx PSC 计数器时钟频率的分 频系数为 1 65535 之间的任意数值 3 4 个独立通道 TIMx CH1 4 这些通道可以用来作为 A 输入捕获 B 输出比较 C PWM 生成 边缘或中间对齐模式 D 单脉冲模式输出 4 可使用外部信号 TIMx ETR 控制定时器和定时器互连 可以用 1 个定时器控制另外一个定时器 的同步电路 5 如下事件发生时产生中断 DMA A 更新 计数器向上溢出 向下溢出 计数器初始化 通过软件或者内部 外部触发 B 触发事件 计数器启动 停止 初始化或者由内部 外部触发计数 C 输入捕获 D 输出比较 E 支持针对定位的增量 正交 编码器和霍尔传感器电路 F 触发输入作为外部时钟或者按周期的电流管理 2 定时器功能简介 本次设计系统中需要利用通用定时器产生一秒定时 STM32F103 中的 通用定时器可以由向上计数 向下计数 向上向下双向计数多种计数模式 向上计数模式中 计数器从 0 计数到自动加载值 TIMx ARR 计数器内容 然后重新从 0 开始计数并且产生一个计数器溢出事件 在向下模式中 计 数器从自动装入的值 TIMx ARR 开始向下计数到 0 然后从自动装入的值 重新开始 并产生一个计数器向下溢出事件 而中央对齐模式 向上 向下 计数 是计数器从 0 开始计数到自动装入的值 1 产生一个计数器溢出事 件 然后向下计数到 1 并且产生一个计数器溢出事件 然后再从 0 开始重 新计数 系统中采用向上计数模式 并打开定时中断功能 当定时一秒进入中断后 后 读取输入捕获进入中断的次数并将数据通过串行口发送到上位机显示 图 系统整体硬件 3 PWM 简介 PWM 是 Pulse Width Modulation 的缩写 中文意思就是脉冲宽度调 制 简称脉宽调制 它是利用微处理器的数字输出来对模拟电路进行控制 的一种非常有效的技术 其控制简单 灵活和动态响应好等优点而成为电 力电子技术最广泛应用的控制方式 其应用领域包括测量 通信 功率控 制与变换 电动机控制 伺服控制 调光 开关电源 甚至某些音频放大 器 因此研究基于 PWM 技术的正负脉宽数控调制信号发生器具有十分重 要的现实意义 PWM 是一种对模拟信号电平进行数字编码的方法 通过高分辨率计 数器的使用 方波的占空比被调制用来对一个具体模拟信号的电平进行编 码 PWM 信号仍然是数字的 因为在给定的任何时刻 满幅值的直流供 电要么完全有 ON 要么完全无 OFF 电压或电流源是以一种通 ON 或 断 OFF 的重复脉冲序列被加到模拟负载上去的 通的时候即是直流供电被 加到负载上的时候 断的时候即是供电被断开的时候 只要带宽足够 任 何模拟值都可以使用 PWM 进行编码 本次设计系统中利用通用定时器的复用功能输出比较输出 PWM 波 系统中通过调节 PWM 波的输出周期来改变模拟输出的脉冲频率 4 输入捕获简介 输入捕获模式可以用来测量脉冲宽度或者测量频率 STM32 的定时 器 除了 TIM6 和 TIM7 其他定时器都有输入捕获功能 STM32 的输 入捕获 简单的说就是通过检测 TIMx CHx 上的边沿信号 在边沿信号 发生跳变 比如上升沿 下降沿 的时候 将当前定时器的值 TIMx CNT 存放到对应的通道的捕获 比较寄存器 TIMx CCRx 里面 完成一次捕获 同时还可以配置捕获时是否触发中断 DMA 等 接下来 我们介绍我们需要用到的一些寄存器配置 需要用到的寄存器有 TIMx ARR TIMx PSC TIMx CCMR1 TIMx CCER TIMx DIER TIMx CR1 TIMx CCR1 这些寄存器在前面全部都有提 到 这里的 x 5 我们这里就不再全部罗列了 我们这里针对性的介绍这 几个寄存器的配置 首先 TIMx ARR 和 TIMx PSC 这两个寄存器用来设自动重装载值和 TIMx 的时钟分频 再来看看捕获 比较模式寄存器 1 TIMx CCMR1 这个寄存器在输入捕获的时候 非常有用 有必要重新介绍 该寄存器的 各位描述如图所示 当在输入捕获模式下使用的时候 对应图的第二行描 述 从图中可以看出 TIMx CCMR1 明显是针对 2 个通道的配置 低八 位 7 0 用于捕获 比较通道 1 的控制 而高八位 15 8 则用于捕获 比 较通道 2 的控制 因为 TIMx 还有 CCMR2 这个寄存器 所以可以知道 CCMR2 是用来控制通道 3 和通道 4 本次频率计设计系统中采用 TIM5 CH1 来捕获上升沿脉冲信号 也就 是要先设置输入捕获为上升沿检测 记录发生上升沿的时候 TIM5 CNT 的值 当上升沿到来时 发生捕获 并记录得到一次脉冲信号值 这样 定时一秒钟捕获到上升沿的次数 就是每秒测量到的脉冲次数 即捕获的 脉冲频率 这就是我们所需要的结果 然后通过串口连接到上位机 将数 据发送到上位机 labview 显示结果 5 串口通信设计 通用同步异步收发器 USART 提供了一种灵活的方法与使用工业标准 NRZ 异步串行数据格式的外部设备之间进行全双工数据交换 USART 利 用分数波特率发生器提供宽范围的波特率选择 它支持同步单向通信和半 双工单线通信 也支持 LIN 局部互连网 智能卡协议和 IrDA 红外数据组 织 SIR ENDEC 规范 以及调制解调器 CTS RTS 操作 它还允许多处理器 通信 接口通过三个引脚与其他设备连接在一起 任何 USART 双向通信至少需 要两个脚 接收数据输入 RX 和发送数据输出 TX RX 接收数据串行输入 通过采样技术来区别数据和噪音 从而恢复数 据 TX 发送数据输出 当发送器被禁止时 输出引脚恢复到它的 I O 端口 配置 当发送器被激活 并且不发送数据时 TX 引脚处于高电平 在单 线和智能卡模式里 此 I O 口被同时用于数据的发送和接收 串口做为 ARM 的重要外部接口 同时也是软件开发的重要调试手段 对 于 单片机学习来说 非常重要 而我们开发板使用的 STM32F103 最多可以 提 供 5 路串口 那么 STM32 的串口操作步骤是怎么样的呢 1 打开 GPIO 的时钟使能和 USART 的时钟使能 2 设置串口 IO 的 IO 口模式 一般输入是模拟输入 输出是复用推 挽输出 3 初始化 USART 包括设置波特率 数据长度 停止位 效验位等 4 如果使用中断接收的话 那么还要设置 NVIC 并打开中断使能 串口总线在发送或接收前应处于空闲状态 发送的一帧数据包括一个起始 位 一个数据字 8 或 9 位 校验位和 1 或 2 个的停止位 由此表明数据帧 的完整和数据准确行 图 串口发送配置流程图 6 上位机显示界面设计 上位机的显示界面通过 labview 软件设计 上位机 Labview 的设计主要是串口配置设计和结果显示 其整体设计 后的界面如下图所示 图 上位机显示界面 三 系统总体调试 本次设计系统中的主要软件设计就是对 STM32F103 芯片内部定时器 的充分利用并综合调用 由于 32 芯片的设计采用库函数开发方式编写程序 大大简化了程序的设计难度 本次设计系统中也遇到了一些问题 在老师和同学的帮助下最后都一一解 决了 在此也谢谢帮助过我的老师和同学们 1 设计中的捕获中断在几次调试中都没有得到正确的数据 最后通过前前 后后的软件检查发现了问题的所在 原来是在程序没有对通用定时器的捕 获功能映射到相应的 GPIO 端口 因此 IO 口不能相应的识别上升沿 就不 能产生中断并返回正确的数据 改正方案 打开 STM32 的 GPIO 口配置 并使定时器输入捕获功能到相应 的 IO 口 改正之后 通过串口助手调试可以得到正确的捕获到的脉冲频 率 2 下位机程序整体设计之后检查没错 并可以正确的在串口助手显示正确 的结果 后边在上位机设置完成后串口通讯 但在 labview 界面中不能正 确显示结果 后来多次查询 发现是 STM32F103 板子没有 232 模块 因 此不能正确的进行串口通讯 改正方案 在硬件设计中重新设计硬件通信模块 改正之后就可以正常的 通信 上位机可以正确的显示结果 当然 在调试中还遇到很多细节问题 这些错误相信只要能够稍微认真一 点就能够避免的 四 设计心得 这次的课程设计是基于 STM32F103 的频率计 实现的主要 功能用 ARM 的定时器 计数器的定时和计数功能 外部扩展基于 LABVIEW 的上位机 实现实时显示 求累计每秒进入 ARM 的 外部脉冲个数用上位机显示 在做数字频率计的设计时 开始 是遇到不少的问题 比如我们想如此微弱的信号是怎样被数字频 率计检测的呢 频率计到底是什么设计原理呢 毕竟还没有接触 过实际设计和开发 所以在考虑问题的时候往往是不全面的 也 就是说这次设计还有不少的方面没有考虑周全 也一定存在着这 样那样的问题 在调试工作时 我们要注意认真检查设备连接是 否正确 采用单片机智能控制 结合外围电子电路 得以高低频 率的精度测量 编程简单 精度高 自己学习 ARM 已经有一段 的时间了 这次我又一次利用它来完成课程设计 现在深深地感 受 ARM 的适用性强 应用面广 功能完善 ARM 技术发展已经 很成熟 在电子控制系统应用上仍然占有很重要的地位 作为一 名测控专业的学生 学习好 ARM 嵌入式就显得很有必要 在学 习 ARM 时 不能只满足于课本以及软件仿真 更为重要的是注 重它在实际生活中的应用 多思考 多动手搭建电路 这样我们 才能将所学的东西内化 为今后在系统设计中打下一个坚实的基 础确保各个部件都在正常工作 再进行软件调试工作 调试过程 按照步骤进行操作 切记自己随意妄为 总之 这次课程设计还 是学习到了很多东西 耐心 团队合作等等 感谢我们组员的配 合以及老师的耐心指导 实际的操作总是比理论的学习困难更多 有很多问题是我们 没有遇到过的 学习了一学期的 ARM 无论理论知识学的如何 如果不动手操作 我们永远不会解决这些问题 因为我们也不会 碰到这些问题 发现问题解决问题 这才是求学求知的途径 ARM 嵌入式的内容很丰富 我们现在知道的不过是凤毛麟角 但是这一学期的学习加上这一周的课程设计 使我对 ARM 的兴 趣更加浓烈 实践出真知 这句话用在学习 ARM 身上最适合不 过 理论与实践结合才能够创新 我觉得做课程设计同时也是对课本知识的巩固和加强 平时 看课本时 有时问题老是弄不懂 做完课程设计 那些问题就迎 刃而解了 我次的课程设计是基于 STM32F103 的频率计 实现的主要 功能用 ARM 的定时器 计数器的定时和计数功能 外部扩展基于 LABVIEW 的上位机 实现实时显示 求累计每秒进入 ARM 的 外部脉冲个数用上位机显示 当老师在之前让我们选题目时 我 就开始在网上 在图书馆找资料 当接触到基于 ARM 的频率计 这个题目时 我很迷茫 不知从何下手 虽说这学期已经开 ARM 课了 但是自认为学的一点都不好 随后我们去上网查找 资料 去图书馆查文献 但是都没有找到类似的课题 最后经过 我与组员的努力 勉强有些许思绪 虽说最后我们没能很完善的 做出课题 但这个过程是值得高兴地 在模拟硬件电路部分 我 们查了相关的资料 其中遇到了很多的繁琐问题 但经过同学帮 助都得以解决 在软件方面 我们按照书上的资料 逐步学习 逐步推敲 最终写出了部分程序 虽然功能没有完全表现出来 但是我们都很认真的去动手做了 事实上 我们遇到的问题远不止这些 但是 无论怎样的挫 折 无论怎样的想要放弃 最后都坚持了下来 有困难就查资料 有困难就请教同学 有困难就解决困难 本着这样的信念和心态 我们解决了一个个的困难 虽说结果不能达到预期结果 但从中 我们也学到了很多知识 从原来不太熟悉的 STM32F103 ARM 各个部件到最后的的每一部分都有所了解 我觉得这就是我们坚 持到最后的最大成果 其实在很多事情来临时 我们不仅仅关心 的是最后的结果 更重要的是拥有其中的过程 在整个动手过程 既加深了我们对 ARM 的理论认识 又通过 STM32F103 这个很有 意思的载体 实现了对 ARM 的应用 同时 对我而言 这次课 程设计还有更重要的意义 那就是我开启了对 ARM 制作的兴趣 个人希望在以后的工作学习中 加强这方面的训练 多制作出自 己感兴趣的 ARM 作品 书本上的知识很多都是理想化后的结论 忽略了很多实际的 因素 或者涉及的不全面 可在实际的应用时这些是不能被忽略 的 我们不得不考虑这方的问题 这让我们无法根据书上的理论 就轻易得到预想中的结果 有时结果甚至很差别很大 通过这次 实践使我更深刻的体会到了理论联系实际的重要性 我们在今后 的学习工作中会更加的注重实际 避免成为只会纸上谈兵的赵括 在做本次课程设计的过程中 我感触最深的当属查阅大量的设计 资料了 为了让自己的设计更加完善 查阅这方面的设计资料是 十分必要的 同时也是必不可少的 我们是在做单片机课程设计 但我们不是艺术家 他们可以抛开实际尽情在幻想的世界里翱翔 而我们一切都要有据可依 有理可寻 不切实际的构想永远只能 是构想 永远无法升级 参考文献 1 徐千洋 Linux C 函数库参考手册 M 中国青年出版社 2002 2 陈坚 孙志月 MODEM 通信编程技术 M 西安电子科技大学出版社 1998 3 李现勇 Visual C 串口通信技术与工程实践 M 人民邮电出版社 2004 4 何小平 选择适合 ARM 的嵌入式操作系统 J BMRfech Inc 2003 5 马忠梅 马广云 徐英慧 田译 ARM 嵌入式处理结构与应用基础 M 北京航空航天大学出版社 2002 6 周立功 ARM 嵌入式系统基础教程 第二版 M 北京 北京航空航 天大学出版社 2008 9 7 Ren Yafie Ke Xizheng Liu Yijie MEMS Gyroscope Performance Estimate Based on Allan Variance A InProceedings of 2007 8th International Conference on Electronic Measurement u32 ti 0 time init key init input init printf init pwm init RCC APB1PeriphClockCmd RCC APB1Periph TIM3 ENABLE while 1 delay ms 345 TIM SetCompare2 TIM3 400 void input init input init TIM TimeBaseInitTypeDef TIM TimeBaseInitStructure TIM ICInitTypeDef TIM5 ICInitStructure NVIC InitTypeDef NVIC InitStructure RCC APB1PeriphClockCmd RCC APB1Periph TIM5 ENABLE TIM ClearITPendingBit TIM5 TIM IT Update TIM IT CC1 TIM TimeBaseInitStructure TIM Period 0 xffff TIM TimeBaseInitStructure TIM Prescaler 71 TIM TimeBaseInitStructure TIM ClockDivision TIM CKD DIV1 TIM TimeBaseInitStructure TIM CounterMode TIM CounterMode Up TIM TimeBaseInit TIM5 TIM5 ICInitStructure TIM Channel TIM Channel 1 TIM5 ICInitStructure TIM ICPolarity TIM ICPolarity Rising TIM5 ICInitStructure TIM ICSelection TIM ICSelection DirectTI TIM5 ICInitStructure TIM ICPrescaler TIM ICPSC DIV1 TIM5 ICInitStructure TIM ICFilter 0 x00 TIM ICInit TIM5 NVIC PriorityGroupConfig NVIC PriorityGroup 1 NVIC InitStructure NVIC IRQChannel TIM5 IRQn NVIC InitStructure NVIC IRQChannelPreemptionPriority 1 NVIC InitStructure NVIC IRQChannelSubPriority 1 NVIC InitStructure NVIC IRQChannelCmd ENABLE NVIC Init TIM Cmd TIM5 ENABLE TIM ITConfig TIM5 TIM IT Update TIM IT CC1 ENABLE void key init key init GPIO InitTypeDef GPIO InitStructure SystemInit RCC APB2PeriphClockCmd RCC APB2Periph GPIOA RCC APB2Peri ph GPIOE ENABLE GPIO InitStructure GPIO Pin K UP GPIO InitStructure GPIO Mode GPIO Mode IPD GPIO InitStructure GPIO Speed GPIO Speed 50MHz GPIO Init GPIOA GPIO InitStructure GPIO Pin K DOWN K LEFT K RIGHT GPIO InitStructure GPIO Mode GPIO Mode IPU GPIO InitStructure GPIO Speed GPIO Speed 50MHz GPIO Init GPIOE GPIO ResetBits GPIOA K UP void time init time init TIM TimeBaseInitTypeDef TIM TimeBaseInitStructure NVIC InitTypeDef NVIC InitStructure RCC APB1PeriphClockCmd RCC APB1Periph TIM4 ENABLE TIM ClearITPendingBit TIM4 TIM IT Update TIM TimeBaseInitStructure TIM Period 999 TIM TimeBaseInitStructure TIM Prescaler 35999 TIM TimeBaseInitStructure TIM ClockDivision 0 TIM TimeBaseInitStructure TIM CounterMode TIM CounterMode Up TIM TimeBaseInit TIM4 TIM Cmd TIM4 ENABLE TIM ITConfig TIM4 TIM IT Update ENABLE NVIC PriorityGroupConfig NVIC PriorityGroup 1 NVIC InitStructure NVIC IRQChannel TIM4 IRQn NVIC InitStructure NVIC IRQChannelPreemptionPriority 0 NVIC InitStructure NVIC IRQChannelSubPriority 0 NVIC InitStructure NVIC IRQChannelCmd ENABLE NVIC Init void pwm init pwm init GPIO InitTypeDef GPIO InitStructure TIM TimeBaseInitTypeDef TIM TimeBaseInitStructure TIM OCInitTypeDef TIM OCInitStructure RCC APB2PeriphClockCmd RCC APB2Periph GPIOC ENABLE RCC APB1PeriphClockCmd RCC APB1Periph TIM3 ENABLE RCC APB2PeriphClockCmd RCC APB2Periph AFIO ENABLE GPIO InitStructure GPIO Pin GPIO Pin 7 GPIO InitStructure GPIO Speed GPIO Speed 50MHz GPIO InitStructure GPIO Mode GPIO Mode AF PP GPIO Init GPIOC TIM3 定时器初始化 TIM TimeBaseInitStructure TIM Period 1000 TIM TimeBaseInitStructure TIM Prescaler 71 TIM TimeBaseInitStructure TIM ClockDivision 0 TIM TimeBaseInitStructure TIM CounterMode TIM CounterMode Up TIM TimeBaseInit TIM3 GPIO PinRemapConfig GPIO FullRemap TIM3 ENABLE TIM OCInitStructure TIM OCMode TIM OCMode PWM1 TIM OCInitStructure TIM OutputState TIM OutputState Enable TIM OCInitStructure TIM OCPolarity TIM OCPolarity Low TIM OC2Init TIM3 TIM OC2PreloadConfig TIM3 TIM OCPreload Enable TIM Cmd TIM3 ENABLE void TIM4 IRQHandler 定时器 4 中断函数 static u8 i 0 TIM ClearITPendingBit TIM4 TIM IT Update i if i 2 i 0 printf 一秒钟出现上升沿次数为 d r n

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论