- 博客(17)
- 收藏
- 关注
原创 寄存器编程认识STM32 十、通讯常识
如常见的通讯传输中,用 0V 表示数字 0, 5V 表示数字 1,那么一个码元可以表示两种状态 0 和 1,所以一个码元等于一个二进制比特位,此时波特率的大小与比特率一致;如果在通讯传输中,有 0V、2V、 4V 以及 6V 分别表示二进制数 00、 01、 10、 11,那么每个码元可以表示四种状态,即两个二进制比特位,所以码元数是二进制比特位数的一半,这个时候的波特率为比特率的一半。
2025-11-01 12:04:17
169
原创 寄存器编程认识STM32 九、Systick_内核外设_系统滴答定时器
SysTick—系统定时器是属于 CM3 内核中的一个外设,内嵌在 NVIC 中。系统定时器是一个 24bit 的向下递减的计数器,计数器每计数一次的时间为 1/SYSCLK,一般我们设置系统时钟 SYSCLK 等于 72M。当重装载数值寄存器的值递减到 0 的时候,系统定时器就产生一次中断,以此循环往复。
2025-11-01 12:03:40
262
原创 寄存器编程认识STM32 八、EXTI—外部中断/事件控制器(APB2)
一个脉冲信号,就是产生事件的线路最终的产物,这个脉冲信号可以给其他外设电路使用,比如定时器 TIM、模拟数字转换器 ADC等等,这样的脉冲信号一般用来触发 TIM 或者 ADC 开始转换。EXTI 有 20 个中断/事件线,每个 GPIO 都可以被设置为输入线,占用 EXTI0 至 EXTI15 ,还有另外四根用于特定的外设事件。由上图可以看出,每个中断/事件线,都可以有众多的输入源,那么如何配置选择输入源的具体IO口呢?(2)中断屏蔽寄存器(EXTI_IMR) 对应位置1,即开放来自线x上的中断请求。
2025-11-01 11:58:52
1237
原创 寄存器编程认识STM32 七、NVIC、中断
(1)使能外设某个中断,这个具体由每个外设的相关中断使能位控制。(2)初始化 NVIC_InitTypeDef 结构体,配置中断优先级分组,设置抢占优先级和子优先级,使能中断请求。(3)编写中断服务函数。
2025-11-01 11:53:56
405
原创 寄存器编程认识STM32 五、GPIO(APB2)
开漏模式:如果我们控制输入为1,则引脚输出为高阻态。正常使用时必须外接上拉电路。功能1: 一般应用在 I2C、SMBUS 通讯等需要“线与”功能的总线电路中。功能2:用在电平不匹配的情况下,输出5V大电压。
2025-10-31 14:23:06
248
原创 寄存器编程认识STM32 三、启动文件
5、 调用 C 库函数_main 初始化用户堆栈,从而最终调用 main 函数去到 C 的世界。2、 初始化 PC 指针=Reset_Handler。1、初始化堆栈指针 SP=_initial_sp。3、 初始化中断向量表。
2025-10-31 14:21:46
333
原创 寄存器编程认识STM32 二、STM32系统架构
3.3.2 Block2,用于设计片内的外设,根据外设的总线速度不同,Block2被分成了 APB 和 AHB。F103只用到512MB中的512KB。3.1 stm32是32位的,2^32 = 4GB, 它具有4GB的地址空间。CPU通过ICode总线来获取存在Flash中的指令,它是专门用来取指的。3.3.2 Block1,用于SRAM,只用到512MB中的64KB。3.2 存储器本身不具有地址信息,它的地址是由芯片厂商或用户分配,APB1挂载低速外设,APB2 和 AHB 挂载高速外设。
2025-10-31 14:21:09
406
原创 寄存器编程认识STM32 一、常识部分:
(1)微处理器的主频非常高,可以跑操作系统,跑linux。应用续行符的时候要注意,在“\”后面不能有任何字符(包括注释、空格),只能直接回车。c) SRAM启动:BOOT0=1, BOOT1=1(从内部SRAM启动,调试用)(2)微控制器呢,一般是用来控制,像我们的小家电、智能手环、平衡车、电动车。2、选择多少引脚的芯片,引脚多少决定了资源的多少,也 影响价格。3、选择多少RAM和FLASH的芯片,FLASH越大,价格越贵。①对PCB画板的要求很高。1、选择哪种内核的芯片:内核越高意味着功耗也越高。
2025-10-31 14:20:17
303
原创 ※mid360+jetson orin nano 实现步骤
❌ 失败:无话题 → launch 里 remap 错误,或 lidar 未连接。• 波特率 115200,协议 NMEA 或 MAVLink Vision。用杜邦线短接jetson TX↔RX,在 screen 里敲字符应回显。为空 → 脚本里 sleep 时间太短,增加 5 s。❌ 失败:无 dialout 组 → 重复上面命令。看是否有 UDP 包,无则 IP 或线错。❌ 失败:无输出 → 波特率/线序/权限。❌ 失败:不回显 → 线序错或波特率错。❌ 失败:找不到包 → 换国内源或代理。
2025-10-30 17:06:58
671
原创 透镜焦距的测量(三种方法测凸透镜,一种测凹透镜)
将光源(下面都称为物p)放置在一固定位置(以下全部实验物p都不需要移动,建议直接放在20cm处),在物p后适当距离依次放置凸透镜和平面镜,调节两者的距离,使光源旁呈现一个等大反向亮度较高的像。1.保持物p的位置,依次放置凸透镜和屏,使得凸透镜在屏上成一个较亮较小的实像。2.在凸透镜与屏之间(靠近屏的)放置凹透镜,然后移动屏的距离使得在屏上成像。2. 调节凸透镜和屏的位置,使得在屏上成一个“较大的”实像,记录此时凸透镜的位置(Q1)和像的位置;计算凸透镜到物p到的距离(p)和凸透镜到屏的距离(p’)从而由。
2023-11-20 11:51:08
19419
1
原创 迈克耳孙干涉仪测量波长
4.迈克耳孙干涉仪示数调零,然后旋转最小旋钮直至干涉条纹发生外扩或内缩。此时,记录下初始位置,然后继续调节旋钮,每50个条纹扩张或内缩记录一次当前位置。2.调节M1、M2,使二者最亮的两个光斑重合;这个步骤保证了两个平面镜的垂直。3.在激光路径上放入散射镜,调节散射镜的位置,使毛玻璃观察屏上出现干涉条纹。1.让激光器打出的激光反射光点(M1,M2)落到输出镜面中心;注:每50个条纹扩张或内缩,旋钮示数约变化0.016 mm.
2023-11-20 11:38:30
1537
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅