stm32
总结stm32疑问和经验
蜗牛2020
这个作者很懒,什么都没留下…
展开
-
推挽输出和开漏输出
3.开漏输出:把下面两种状态拿出来,上面mos管都是关闭的,所以可以认为是不存在的。如果芯片控制引脚只能输出5v,但是要控制3.3v芯片引脚。当Q2关闭时,输出高阻态。推:Q1打开,Q2关闭,输出高电平。箭头方向是电流方向,把电流推出去。挽:Q1关闭,Q2打开,输出低电平。箭头方向是电流方向,把电流挽回来。Q2相当于是啥也没接,所以这个模式被称为开漏模式。当Q2打开时,输出低电平。Q2和Q4只要有任意一个打开,输出是低电平。若配置成推挽输出,mos管会被烧毁。Q2和Q4全关闭,输出是高电平。原创 2024-01-23 11:29:52 · 341 阅读 · 0 评论 -
gpio的上拉 下拉浮空输入 和 推挽 开漏输出
gpio的输入 输出原创 2023-03-08 16:32:13 · 861 阅读 · 0 评论 -
keil編譯完code、RO-data、 RW-data、ZI-data含義
keil編譯大小原创 2022-07-29 12:33:57 · 134 阅读 · 0 评论 -
使用stm32f407和stm32f103板子进行can通信
can通信原创 2022-07-18 09:23:32 · 605 阅读 · 0 评论 -
CAN通讯
can总线原创 2022-07-13 20:58:04 · 287 阅读 · 0 评论 -
iic引脚设置
iic引脚转载 2022-06-30 12:28:56 · 136 阅读 · 0 评论 -
bss data text 堆栈
BSS段(bss segment)通常是指用来存放程序中未初始化的或者初始值为0的全局变量的一块内存区域。BSS是英文Block Started by Symbol的简称。BSS段属于静态内存分配。数据段(data segment)通常是指用来存放程序中已初始化的全局变量的一块内存区域。数据段属于静态内存分配。代码段(code segment/text segment)通常是指用来存放程序执行代码的一块内存区域。这部分区域的大小在程序运行前就已经确定,并且内存区域通常属于只读, 某些架构也允许代码段为可写,转载 2022-06-20 14:56:13 · 135 阅读 · 0 评论 -
startup_stm32f407xx.s
start.s转载 2022-06-20 14:52:31 · 117 阅读 · 0 评论 -
rs232 485 ttl区别
**** 在RS-232-C中任何一条信号线的电压均为负逻辑关系。即:逻辑“1”为-3到-15V;逻辑“0”为+3到+15V。RS-232-C接口连接器一般使用型号为DB-9插头座,通常插头在DCE端,插座在DTE端。PC机的RS-232口为9芯针插座。一些设备与PC机连接的RS-232接口,因为不使用对方的传送控制信号,只需要三条接口线,即“发送数据TXD”、“接收数据RXD”和“信号地GND”。RS-232传输线采用屏蔽双绞线。RS485采用差分信号负逻辑,逻辑"1”以两线间的电压差为-(26)V表转载 2022-06-20 12:55:57 · 928 阅读 · 0 评论 -
stm32 boot0 boot1的启动方式
在每个STM32的芯片上都有两个管脚BOOT0和BOOT1,这两个管脚在芯片复位时的电平状态决定了芯片复位后从哪个区域开始执行程序,见下表:BOOT1=x BOOT0=0 从用户闪存启动,这是正常的工作模式。BOOT1=0 BOOT0=1 从系统存储器启动,这种模式启动的程序功能由厂家设置。BOOT1=1 BOOT0=1 从内置SRAM启动,这种模式可以用于调试。STM32三种启动模式对应的存储介质均是芯片内置的,它们是:1)用户闪存 = 芯片内置的Flash。2)系转载 2022-02-09 08:54:28 · 566 阅读 · 0 评论 -
通过外部IO中断输入时,常规做法
通过外部IO中断输入时,常规做法:边沿触发不需要上下拉,浮空即可;电平触发时需要上下拉原创 2022-01-25 10:13:35 · 134 阅读 · 0 评论 -
资源共享、优先级反转和优先级继承
资源共享:任务之间需要共享资源用于通信和数据处理。任何时候两个或多个任务共享资源(例如内存缓存或串口),其中一个通常具有最高优先级。最高优先级任务希望在它就绪时马上就能执行,但是,如果在高优先级任务处于就绪状态时低优先级任务正在使用它们的共享资源,高优先级任务就必须等待低优先级任务停止使用共享资源。**优先级反转:**有三个任务,低优先级任务和高优先级任务共享资源A,一开始只有低优先级任务处在就绪状态,获得cpu资源后,开始执行,执行过程中,占用资源A,此时,中优先级任务处在就绪状态,抢占cpu,开始执行原创 2021-10-22 13:01:58 · 347 阅读 · 0 评论 -
操作系统的原理
1.操作系统的引入在没有操作系统时时,如果想实现一个场景:灯一直闪烁,按键每按下一次,lcd上显示数字加1.void main(){ led_init(); key_init(); lcd_init(); while(1){ led(); key_scan(); lcd(); }}程序会顺序执行,但是当灯闪烁时间延长时,再按下按键,可能不起作用,因为程序可能会困在led()函数中,还未执行到key_init函数中。解决方式,可以引入中断或状态机。现在从操作系统的角度解决该问原创 2021-10-20 13:45:57 · 351 阅读 · 0 评论