彭老师 arm 第二期
第二期的笔记
看星星的派大星
这个作者很懒,什么都没留下…
展开
-
第二期:第15节,beep 大海
我发现时间 非常的快, 就像是在 两倍速 播放,到这里 , pwm 的音乐的 播放就是正产的了。里面已经有了解释了。原创 2024-10-23 20:21:11 · 194 阅读 · 0 评论 -
蜂鸣器 ,耳机区别, 有缘蜂鸣器,无缘蜂鸣器
有源 , 无源 都是 直流电。然后是 蜂鸣器与耳机的区别。然后是 扬声器与耳机的区别。首先是 有缘与无源的区别。然后是 蜂鸣器电阻的区别。这个的区别没有 找到。原创 2024-10-08 17:57:43 · 258 阅读 · 0 评论 -
第二期:第14节, beep 编程
应该是跟这里 有关的, 如果我关闭 定时器的话, 它一直是 3.3V, 如果我开启定时器的话, 那么它 比 3.3V 低, 但也是 高电平, 除非我 将占空比 设置的 很小, 低电平时间很长。注意: 这里我发现一个现象, 就是一但我 将引脚设置成 tout 的话, 那么 不论 我 停止 定时器,还是 开启定时器,板卡上的蜂鸣器 一直是响的,也就是 说,这个引脚 一直是高电平。然后是数据手册中 找到 相关的寄存器, 首先是 GPIO的复用寄存器, 然后是 PWM的寄存器。然后是源码的结构,以及源码的编译。原创 2024-10-08 17:40:35 · 761 阅读 · 0 评论 -
第二期:第13节, 4412 pwm 控制器 工作原理
大致的流程: TCN寄存器里面的数字加载之后,会自动的不断的减一, 此时是低电平,当减到与 TCM寄存器中的数字一样的时候,开始变为高电平,然后继续减一, 直到减到0为止,此时,如果使能了自动装载,那么会再一次将 之前缓冲区中的内容加载到TCN寄存器中, 此时,就又是低电平了。关于双缓冲: 指的是 TCMPB0, TCNTB0 , 需要在这里面写入数字,然后,硬件会自动将里面的数字加载到寄存器中。这里需要注意的是, 所谓的pwm 通道,就是Pwm的引脚。然后是 4412 寄存器的内部的工作步骤。原创 2024-09-19 10:34:23 · 324 阅读 · 0 评论 -
第二期: 第12节, pwm 的基本概念
有缘蜂鸣器 内部有振荡器,只要输入一个电压就可以了。当然价格上 , 无缘蜂鸣器也是比有缘蜂鸣器 便宜的。但是无缘蜂鸣器,内部没有振荡器, 需要一个PWM。周期:就是在一秒钟 内, 每个周期所占的时间。频率:就是在一秒钟之内,一共有多少个周期。然后是关于有源蜂鸣器, 以及无缘蜂鸣器。占空比: 就是高电平与低电平的比值。脉宽:就是高电平的时间。原创 2024-09-19 09:40:27 · 174 阅读 · 0 评论 -
第二期: 第11节, uboot 命令的使用
注意这里是,将4 加一, 而不是直接设置成1 , 这是为了不影响其他的位。注意: 这里的 .w 指的是两个字节, 与汇编中的.w 是不一样的。问题:如果你只想控制一个led 灯,并且不想去写驱动。并且 不用写读取多少个字节,就读就行了。这里默认就是写四个字节的数据,写完之后,退出就可以。那么可以直接 使用uboot 的命令,去改写内存。然后设置 DAT 寄存器的值 为1 ,输出高电平。uboot 内存命令来控制led 灯。读取 GPL_0 的con寄存器。可以看到 板卡上的灯亮了。然后设置成 输出模式。原创 2024-09-18 18:03:29 · 249 阅读 · 0 评论 -
第二期:第五节, LED的C语言代码
这如果 要 对寄存器进行赋值的话, 直接 使用 GPX1.CON= xxxx ,就可以了。如果没有 break 语句的话, 那么 所有的 指令 都会执行, 有点像汇编里面的 标号。疑问: 可不可以这么理解, 就是 在 .data 段里面 就有 栈段了。(第一次,它虽然是关的,但是也把它关掉)逻辑是 让板卡上的两个灯 , 循环的闪烁。2 然后是 对于 灯循环函数的解释。这里首先是 开辟了一段内存,作为栈。然后是makefile 的编写。4 然后是 代码的编译与烧写。烧写测试是 正常的。原创 2024-09-18 11:55:00 · 361 阅读 · 0 评论 -
第二期: 第三节 裸机代码如何烧写
因为 要烧写 代码, 你必须 要有一份, 可以烧写的代码。这个 过程其实 需要在 编写了 驱动之后, 再进行。这里比较重要的是 secureCRT 的安装流程。不破解也能用,就是 有时间限制。先安装 secureCRT ,烧写 , 程序运行都是正常的。这里忘记怎么安装的了。原创 2024-09-12 21:29:00 · 275 阅读 · 0 评论 -
第二期: 第一节 环境的搭建
由于 我这里的板卡 是 1G+4G的, 网盘上的 文件系统, 应该是根据 8G 或16G 做的,我用不了。压缩包里 有一个 uboot , kernle 一起编译的脚本。将工具链 拷贝到 /usr/local/arm 目录下。更改 内核的 编译器 , uboot 的还是 不变。编译通过,接下来 烧写 uboot 测试一下。1 找一个虚拟机。下载工具链, 源码。接下来 编译一遍,看看能不能通过。2 先编译一遍,确定环境没问题。这是对于 kenel 编译的脚本。可以看到这个压缩包里,有。原创 2024-09-11 20:36:00 · 337 阅读 · 0 评论 -
第二期: 第二节 , 裸机编程 , gpio
当流过 这个IO的电流 越大, 那么这个IO的电压也就越大(不明白原因), 当大到一定程度,这个IO 口 ,就不能识别成0 了,那么这个 临界电流 , 就叫做 驱动能力。这里的含义是, 由于带上了负载, 电流越大,这个UO口的电压就越低, 当低到一定程度,就识别不出 逻辑1 了, 那么这个临界的电流 就叫做 输出1 时候的驱动能力。注意: 这里的GPIO的控制方式, 与stm32不同,这里在设置中断的时候,是不需要配置 输入的。可以说这些 寄存器组, 就是 全部的 可以使用的引脚了。原创 2024-09-11 20:35:35 · 414 阅读 · 0 评论