嵌入式arm学习总结(五)--RTC-TIME-PWM-Watchdog-AD-TP

PWM/RTC/WDT定时器 一,PWM定时器 S3C2440有五个16位的定时器,定时器0~3有PWM功能,输出信号连接到TOUT0~TOUT3引脚,定时器4没有此功能。定时器0~1,共用一个8位预分频器,定时器2~4共用另一个8位预分频器,TCFG0配置预分频值,对PCLK分频,TCFG1为每个定时器选择时钟分频信号(2,4,8,16)。 自动重装,一次定时结束,重新赋值给定时计数器,重新定时,否则定时器停止。 定时 阅读详情


                                                     RTC

常用RTC模块:
PCF8563  IIC接口
DS302   SPI接口
DS87887  功能多,比较贵

BCD码: 十进制数

压缩BCD码,一个BCD码从0—9,需要4位二进制存储

以BCD,码存数的数 例如:0X59 表示59秒(直接是BCD值,即十进制数)

                                                     

                                                       定时器、PWM

1.定时器的工作原理:以固定的频率(可以编程改变这个频率)进行计数

2.单片机定时器的预置数递增
  ARM定时器的预置数为递减

3.GPIO引脚输出电流一般为几毫安到十几毫安
  但蜂鸣器的驱动电流至少要几十毫安,所以在用IO口驱动蜂鸣器时要加一个三极管方大电流,并作为开关作用

4.定时器内部工作流程:
1)设置预置数
   设定TCNTBn/TCPMBn这两个寄存器,它们表示定时器n的比较值(比较值只与PWM有关,与定时器无关),初始化计数值
2)启动定时器
   如果设置了TCON寄存器启动了定时器n,这时TCNTBn/TCMPBn寄存器的值装入内部寄存器TCNTn/TCMPn中,在定时器n的工作频率下,TCNTn开始减1计数,其值可以通过读取TCNTOn寄存器得知
3)PWM管脚第一次反转
   当TCNTn的值等于TCMPn的值时,定时器n的输出管脚TOUTn反转,TCNTn继续减1计数

4)PWM管脚第二次反转,如果设置中断模式,那么会触发中断
   当TCNTn的值达到0时,定时器n的输出管脚TOUTn再次反转,如果中断使能的话,也会触发中断
5)再重新装载预置数(可以设置为自动加载),然后继续循环
   当TCNTn的值达到0时,如果在TCON中将定时器n设为自动加载,则TCNTBn/TCMPBn的值被自动装入内部寄存器TCNTn、TCMPn中,下一个计数流程开始


5.定时器n的输出管脚TOUTn初始状态为高电平(如果TCON[2]=1反转,那么TOUTn的出事状态就为低电平),以后在TCNTn的值等于TCMPn额定值反转一次,TCNTn的值等于0 再反转一次

6.通过设置TCMPn、TCNTBn的值可以设置管脚TOUTn输出信号的占空比,这就是PWM(Pulse Width Modulation),所以定时器又称PWM定时器

7.占空比:一个周期内高电平占的比例
  TCNTn决定输出频率
  TCMPn决定占空


                                                         WatchDog

CAT823/824/825
看门狗原理:
如果看门狗的输入管脚每隔一秒收到一个来自CPU控制器的脉冲信号,那么看门狗的输出就会永远保持低电平(或者高电平)
如果看门狗的输入引脚超过一秒没有收到来自CPU控制器的脉冲信号,那么它的输出引脚就会输出一个20ms的高脉冲(或者低脉冲)
不同的看门狗芯片间隔时间不一样,有些芯片还可以自己设定
在选择芯片间隔时间时应该选最小时间 Time-Out  (具体参考WTD的数据手册)

当看门狗的复位功能使能后,它的中断功能就会无效
因为复位优先级最高,复位后重新启动时会关闭所有的中断

S3C2440它有内部RTC和内部看门狗,但在实际产品应用中,一般只能用一个,另外一个要用外部的,
两个同时用可能会存在隐患问题。一般用外部的用WDT   因为WDT芯片  0.5—2元  便宜   但RTC芯片要3—5元


                                                        ADC/触摸屏

1.AD芯片选型标准
1)分辨率 多少位的AD    常用 8、10、12位
2)偏移量误差:
输入数字量为零时输出模拟量对零的偏移量这种误差可以通过DAC的外接Vref和电位计加以调整
3)转换精度
满量程时(比如0——5V时5V)实际的值和理论值之间的接近程度
4)转换速度 
单位KSPS 每秒转换的次数
 
作业:AD值,图片,时钟综合显示


2.触摸屏
电阻屏  便宜
电容屏  利用人体等的电容耦合 ,不能使用触摸笔等,只能用人体皮肤接触
表面声波屏
红外屏
近场成像屏


 注:以下都是基于S3C2440平台的一些总结

【信息科学与工程学】【产品体系】计算机科学与自动化——第一百八十九篇 操作系统内核(微内核/宏内核)函数与算法02 宏内核(Linux)更多典型内核函数/算法,从编号271开始,覆盖中断管理、热插拔、PCI、ACPI、固件、崩溃转储、kexec、休眠、watchdog、RTC、hwmon、LED、backlight、input子系统、remoteproc等更多领域。编号类型领域内核类型内核中的函数/算法/模块/模组模块的调用关系模块/函数/算法逐步推理思考的数学表达式及参数列表及参数数值设计模块的C/C++/其他代码关联知识271中断管理中断描述符宏内核 / (中断子系统核心)驱动申请中断 → → → 分配irq_ 阅读详情

相关推荐

【信息科学与工程学】【通信工程】第八十六篇 通信网络设备及通信网络组网的所有学科知识01

编号001类型网络虚拟化与覆盖技术网络领域数据中心网络子领域大二层网络 / 网络虚拟化核心数学方程式/算法模型核心算法:VXLAN封装与解封装。关键在于24位VNI(虚拟网络标识符)到物理网络的三层IP地址的映射。封装:收到原始以太帧后,为其添加 VXLAN 头部(含 VNI)、外层 UDP 头(目的端口 4789)、外层 IP 头(源 IP 为本地 VTEP IP,目的 IP 为对端 VTEP IP)以及外层 MAC 头。解封装:对端 收到报文后,剥离外层头部,根据内层帧的目的 MAC 和 VNI 进行二

weixin_49199313的博客 839

字符设备驱动实例(PWM和RTC)

FSPWM_STOP 是停止 PWM 的命令,将 TCON 的比特0清0即可FSPWM_SET_FREQ 是设置频率的命令,首先判断了要设置的频率是否超过了范围和是否合法,接下来根据前面的公式计算出了计数值,然后设置了 TCNTBO和TCMPBO,最后根据前面的描述操作 TCON 的比特 1更新新的计数值和比较值。代码中首先打开了设备,然后启动了 PWM 输出,在 for 循环中依次取出乐曲中的各个音符,然后设置频率,再延时指定的时间,这就完成了乐曲的演奏,最后停止了 PWM。测试的应用层代码如下。

qq_52479948的博客 1225

STM32 RTC配置与PWM输出实践项目

本文还有配套的精品资源,点击获取 简介:RTC模块负责微控制器中的实时时间保持,即使在系统电源关闭时也能计时。本文介绍了一个使用STM32 CubMX工具配置RTC的项目,能够设置秒中断和调整PWM信号的占空比。首先讲解了RTC和PWM的基础知识,然后通过CubMX工具设置RTC闹钟事件以触发秒中断,并在中断服务程序中执行特定任务。接着介绍如何获取RTC时间,并通过定时器输...

weixin_29781865的博客 1590

采用夹具利用CAN功能测试芯片RTC/TIMER/PWM的精确性

这里主要讲的就是测试过程中的电路线路接法 夹具上的芯片CAN的TX/RX引脚分别与开发板上的CAN的TX/RX引脚相连接 因为要用到开发板上的CAN通讯芯片,所以往开发板上的芯片内部烧录一个空程序,仅仅打开CAN 通讯芯片的使能就可以了 而CAN盒子的H/L线接上开发板的CAN_H与CAN_L就可以了 此外,用到了SCI0的TX引脚(BF7106芯片当中SCI0的引脚确定),而SCI1的引脚有三个...

qq_45763093的博客 628

RTC用户使用手册

IBM RTc用户使用手册,相当的不错,主要以开发为主

看门狗CAT823资料

根据此文档操作看门狗,实现对看门狗的使用。

1.27日学习内容-看门狗,PWM输出

1、独立看门狗: 独立看门狗相关的库函数操作函数在文件 stm32f4xx_iwdg.c 和对应的头文件 stm32f4xx_iwdg.h 中。 **在关键字寄存器(IWDG_KR)中写入 0xCCCC,开始启用独立看门狗;此时计数器开始从其 复位值 0xFFF 递减计数。当计数器计数到末尾 0x000 时,会产生一个复位信号(IWDG_RESET)。 无论何时,只要关键字寄存器 IWDG

junkaiya的博客 1050

从入门到实战:rkhunter(Rootkit猎手)在Linux服务器安全运维中的部署与自动化监控

本文详细介绍了rkhunter(Rootkit猎手)在Linux服务器安全运维中的部署与自动化监控方法。从Rootkit的危害性入手,讲解了rkhunter的安装、配置及实战应用,包括如何建立基准、优化定时任务方案以及智能告警处理。通过多级过滤脚本和系统级联动,帮助运维人员高效识别和应对Rootkit威胁,提升服务器安全性。

weixin_28715953的博客 240

嵌入式开发——rtc时钟调试笔记

前段时间在调试AM335X的rtc时钟功能,一开始是使用芯片内部的rtc时钟模块,后来发现功耗有点高,转而使用rtc时钟芯片,型号为ds1672.。现在把两者的调试要点记录下来,方便后续的查阅。 注:使用的linux内核版本为4.4.32 芯片内部RTC: 查看官方的说明文档:http://processors.wiki.ti.com/index.php/AM335x_Schematic_C...

Justwe的博客 3525

STM32 Boot程序实战:从启动流程到安全跳转机制解析

本文深入解析STM32 Boot程序的核心作用与安全跳转机制,涵盖启动流程、内存管理、中断向量表重定向及固件验证等关键环节。通过实战案例分享如何实现可靠的固件升级与故障回退策略,避免设备变砖风险,提升嵌入式系统稳定性。

pluto的博客 780

2026年AI编程工作流实战:Claude Code与Open Code深度对比

AI编程已从代码生成工具升级为IDE级智能工作流核心能力。其本质是将大语言模型深度嵌入开发环境,通过语义理解、上下文感知与行动闭环重构传统编码范式。Claude Code以企业级知识图谱和双轨Code Review为代表,强调合规性、可审计与深度集成;Open Code则依托Skill可组合性、本地优先模型与ocp协议,实现开源驱动的灵活扩展。二者共同推动IDE从‘编辑器’进化为‘数字搭档’——能理解RFC文档、记住PR评论、自动补全带重试的fetch逻辑,并在Promise链发呆时一键重构为async/a

weixin_33739523的博客 464

基于ARM裸机的知识点总结(13)------- ADC模数转换器

一,ADC的引入 ADC:(analog digital converter),AD转换,模数转换(也就是模拟转数字) (2)CPU本身是数字的,而外部世界变量(如电压、温度、高度、压力···)都是模拟的,所以需要用CPU来处理这些外部的模拟变量的时候就需要做AD转换。 关于模拟量和数字量 (1)模拟的就是连续的,现实生活当中的时间、电压、高度等都是模拟的(连续分布的,划分的话可以无限的更小划分)...

big_C的博客 1280

【AI大模型】角色设定:给模型定身份的高效使用方法

摘要: AI大模型角色设定(RolePrompting)是提示词工程的核心优化技巧,通过赋予模型特定职业、领域和风格约束,显著提升输出专业度与适配性。文章系统拆解了角色设定的原理、万能公式(领域+身份+技能+风格+场景)、三级分层写法(基础/进阶/专家),并提供10类高频场景的模板。通过无角色与有角色输出的对比实验(Python代码量化验证),证明角色设定可使模型综合得分提升35%以上,尤其优化场景适配度与风格统一性。该技巧作为高阶提示词(如CoT、Few-Shot)的前置模块,能以零成本实现AI输出的专业

unber的博客 43

设备树学习之(五)watchdog

开发板:tiny4412SDK + S702 + 4GB Flash 要移植的内核版本:Linux-4.4.0 (支持device tree) u-boot版本:友善之臂自带的 U-Boot 2010.12 busybox版本:busybox 1.25 目标: 学习设备树中普通中断的表示方法。设备树参考: watchdog: watchdog@10060000 {

漫不经心 3052

计算数列位置N的值

本文介绍了一个数列生成问题,要求根据输入的两个整数M和N生成特定规则的数列,并输出第N个位置上的数值。数列生成规则为:前M个元素为1到M;后续元素根据前M个元素是否重复来决定计算方式(求和或求差)。文章提供了C++、Java和Python三种语言的实现方案,均包含输入处理、数列初始化、循环计算和结果输出等步骤。各语言实现中均使用集合去重特性判断重复元素,并通过内置函数或自定义方法求取最大值和最小值。该问题主要考察基础编程能力,包括数组/列表操作、最值计算和重复元素判断等基本编程技巧。

面试高手的博客 655

哨兵1号后向散射系数土壤水分反演

打开之前预处理之后的VH和VV极化的后向散射系数转存的tiff文件。

所有专家都曾始于新手 3293

有关ARM RTC时钟使用心得

在做裸机电子相册的项目时,涉及到使用RTC作为时钟,对此不甚了解,因此去看了ARM9的开发笔记,具体内容如下,个人理解,可能有所缺陷。 首先贴一张RTC的原理图: RTC是具有独立的电源,在断电后能够保持内部的计数和晶振工作。图中,XTIrtc和XT0rtc共同构成外部晶振,他传给2^15的一个时钟分频器,得到128HZ的频率这个频率用来产生滴答计数。当时钟计数为0时,产生TI

qq_33595823的博客 2万+

一个 ABAP 工具,能打印系统里某个用户对 BSP 应用的浏览历史记录

只要一个用户在 SAP ABAP 系统里浏览过 BSP 页面,会留下浏览历史记录。本工具会解析出这些记录,打印出该用户浏览的历史事件,和浏览过的页面名称。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 546

嵌入式linux-----ARM裸机(9)-----定时器、看门狗和RTC

1.什么是定时器 (1)定时器介绍 定时器是SoC中常见外设,计数器计数乘以固定的计数周期时间就相当于定时器的功能。定时器的作用相当于定个闹钟。计时完成后会产生中断,从而执行事先设定的事件。单核的CPU就要用定时器,因为它只能同时做一件事,不能一直盯着时间(定了时间后定时器就专门负责到时间提醒CPU来处理事情)。 (2)定时器原理 定时器内有计数器,计数器根据时钟来工作,时钟源来自于ARM的APB总线,经过时钟模块内部的分频器来分频得到。每隔一个时钟周期就计数一次。 定时器内部有一个寄存器TCNT,假设开始

qq_41547890的博客 944

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

linux watchdog看门狗编程

说明 由于防止linux系统下程序突然意外终止或是陷入死循环等情况,启用看门狗机制,出现问题的时候机器重启。 初始化看门狗 查看liux系统下是否有 /dev/watchdog控制句柄 ls /dev/watchdog 代码段 int fd = open("/dev/watchdog", O_WRONLY); if(fd == -1){ printf("open watchdog...

a272351355的博客 1047

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

第八章 PWM定时器——ARM

参考资料:S3C2410中文手册第10章-PWM定时器.pdf。 ( S3C2410中文手册第10章-PWM定时器 ) 补充: 1.PWM定时器寄存器组成和主要操作过程 除了定时器4,定时器0~3中每个定时器内部,都有下述寄存器: 时器计数缓冲器寄存器TCNTBn,程序可读写,用于保存定时器计数初值。 在手动更新(manual update)允许时,将这个初值送到定时器计数寄存器TCNTn,在TCNTn中进行递减计数操作。 当自动重装(autoreload)允许时,一次计数结束(TCNTn递 减计数达到

xiaobai06的博客 1954

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

定时器,看门狗&RTC

定时器作为Soc中的常见外设,和其他外设并没有什么不同,通常和计数器联系在一起,定时器常用来实现定时执行代码,相当于Soc的闹钟,可以让Soc具有计时功能。定时器原理定时器通过内部的计数器的计数来实现的,计数器根据时钟频率来工作,时钟源来自APB总线,通过时钟模块的分频器分频之后到达计数器,每个时钟周期计一个数,定时器的时间就是计数器的计数值*时钟周期,定时器中有一个TCNT寄存器,计时开始时放入一

哎呦哥哥的博客 6134

STM32CubeMX:PWM

芯片:STM32F103C8T6 应用管脚: 输出:PA0、PA1 TIM2 CH2通道 实现PA1管脚50HZ(20ms)可调PWM输出,系统TIMx_CNT=8MHZ=8000 000HZ,设置TIMx_PSC=800-1,那么TIMx_ARR=(TIMx_CNT/TIMx_PSC)*定时器时间=(8000000/800)*0.02=200,TIMx_ARR=200

随便写写,记录点点滴滴 1万+

嵌入式学习之定时器的PWM输出

配置步骤: (1)使能定时器以及输出引脚的时钟(若用到复用则使能AFIO时钟)。 (2)初始化GPIO,若没有重映射仅有复用则按照8.1.11配置就行了,若有重映射即打开重映射。例如: 重映射都是固定的,比如上图你使能了TIM3的部分重映射,我们肯定是在确定要用到PB5或者PB4之后我们才去使能重映射。 (3)配置要用到的定时器的时钟来源以及时基单元: 注意:若我们使用内部时钟CK_INT作为时钟来源,应注意手册中的一句话:“这里的 CK_INT时钟是从APB1倍频的来的,STM32中除非APB1的时钟分

weixin_44142774的博客 1268

单片机 -定时器计数器工作原理及工作方式

时钟周期 时钟周期 T 是时序中最小的时间单位,具体计算的方法就是 1/时钟源频率,假如单片的晶振是 11.0592M,那么对于我们这个单片机系统来说,时钟周期=1/11059200 秒。 2:状态周期 在8051单片机中把一个时钟周期定义为一个节拍(用P表示),二个节拍定义为一个状态周期(用S表示)。即两个时钟周期=状态周期 机器周期 机器周期是 12 个时钟周期,也就是 12/11059200...

imxlw00的专栏 6654
上一篇: 嵌入式arm学习总结(四)--LCD
下一篇: 嵌入式arm学习总结(六)--S3C2440体系架构学习总结
杨毅
博客等级 码龄14年 26粉丝 27原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值