- 博客(10)
- 收藏
- 关注
原创 串口通信(学习笔记)(部分)
(2)半双工:允许数据双向传输,但同一时刻数据只能往一个方向传输,即方向可改变的单工通信。例:UART(通用异步收发器),单总线。传输原理:数据各个位同时传输。同步通信:带时钟同步信号传输。传输原理:数据按位顺序传输。(3)全双工:允许数据同时在两个方向上传输。异步通信:不带时钟同步信号。例:SPI,IIC通信接口。缺点:占用引脚资源多。优点:占用引脚资源少。(1)单工:只支持数据单方向传输。4.UART和USART。5.UART异步通信方式。1.并行通信与串行通信。(中断优先级设置步骤。
2023-05-21 21:49:13
235
1
原创 系统时钟(stm32mini)(学习笔记)
Systick定时器就是系统滴答定时器,一个24位的倒计数定时器,计到0时,将从RELOAD 寄存器中自动重装载定时初值。只要不把它在SysTick控制及状态寄存器中的使能位清除,就永不停息,即使在睡眠模式下也能工作。SysTick定时器被捆绑在NVIC中,用于产生 SYSTICK异常(异常号:15)。Systick中断的优先级也可以设置。
2023-05-15 07:40:54
416
1
原创 程序:对射式红外传感器和旋转编码器计次(学习笔记)
总的来说,如果你想在主程序里查看和清除标志位,用EXTI_GetFlagStatus(uint32_t EXTI_Line);如果你想在中断里查看和清除标志位,建议用EXTI_GetITStatus(uint32_t EXTI_Line);( 其实不优化也没什么问题)简单优化了一下:只有在B相下降沿和A相低电平时,才判断为正转;,而中断触发的条件是下降沿(因为咱们现在写的是下降沿,应该也可以用上升沿),由于A相先出现下降沿,所以你刚开始动,就进中断了。,由于A相后出现下降沿,所以你转到位了,才进中断了。
2023-05-08 06:49:09
1088
原创 EXTI外部中断(学习笔记)
每一个数据选择器会从GPIO_Pin中选一个接在EXTI0中,下面的都一样。AFIO主要用于引脚复用功能的选择和重定义。在STM32中,AFIO主要完成PB1口两个任务:复用功能引脚重映射、中断引脚选择。
2023-04-23 20:31:01
306
原创 OLED调试和OLED显示器(程序)(学习笔记)
OLED(Organic Light Emitting Diode):有机发光二极管OLED显示屏:性能优异的新型显示屏,具有功耗低、相应速度快、宽视角、轻薄柔韧等特点0.96寸OLED模块:小巧玲珑、占用接口少、简单易用,是电子设计中非常常见的显示屏模块供电:3~5.5V通信协议:I2C/SPI分辨率:128*64(OLED是有不同规格的,比如引脚个数不同、显示的颜色不同、通信协议也会不同)OLED_Init();初始化清屏显示一个字符");显示字符串。
2023-04-16 15:30:44
5482
原创 两个简单程序(按键点灯、光敏电阻控制蜂鸣器)(学习笔记)
stm32的按键与51单片机的一样,按键按下会有抖动(因为按键内使用的是机械式弹簧),5~10ms对单片机来说时间很长,如果不进行消抖,会出现重复执行程序的情况。(按键按下是低电平,没按是高电平)而最常用的方法是通过软件编程消抖,加一段延时。(VCC正极,GND负极)N1是传感器模块代表的可变电阻,R1是定值电阻,它俩串联分压,旁边的C2是滤波电容,用来过滤干扰,保证输出电压的平滑(分析电路时,可以去掉)。用上下拉分析电路,当N1减小,下拉增强,N1=0时,AO电压=GND电压;
2023-04-05 21:29:49
2090
原创 LED流水灯和蜂鸣器隔1s响一次(stm32)(学习笔记)
蜂鸣器的VCC接在正极供电孔,GND接在负极供电孔,I/O口接哪都行(我接在PB12上),但是要注意有几个口不能接,就比如不要接在A15、B3、B4,这几个口默认是JTAG的调试端口,如果要做普通端口的话,要进行配置。先是时钟,因为用PB口,所以开头改为RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIO, ENABLE);端口写为PB12(因为我连的是PB12),输出低电平,蜂鸣器会响,输出高电平,就不响。(有不足的地方欢迎大家在评论区补充评论)
2023-04-02 21:45:49
1753
2
原创 LED闪烁(stm32)(学习笔记)
而GPIO_InitTypeDef可以让GPIO_Speed、GPIO_Mode、GPIO_Pin直接定义为GPIO_InitStructure的结构体。输入参数 2 GPIO_InitStruct:指向结构GPIO_InitTypeDef 的指针,有外设 GPIO 的配置信息。输入参数 1 GPIOx:x 可以是 A,B,C,D 或者 E,来选择 GPIO 外设。输入参数 1 GPIOx:x 可以是 A,B,C,D 或者 E,来选择 GPIO 外设。输入参数 2 GPIO_Pin:待清除的端口位。
2023-03-26 21:05:49
698
1
原创 简单了解GPIO(学习笔记)
都断开,就是浮空输入模式。②通过设置这个位设置/清除寄存器,只需要在位设置/清除寄存器中对应更改的位置写一,其他不需要更改的位置写零,这样输出数据,寄存器需要更改位置就会改变,而其他位不变(比较简便)来自片上外设和输出数据寄存器都可以控制输出,如果选择通过输出数据计算器进行控制,就是普通I/O口输出,写在这个数据寄存器的某一位就可以操作对应的端口。③位带:在芯片中,有一段专门的地址区域,可以反映RAM和外设寄存器的所有位,读写这段地址中的数据,就相当于读写所映射位置的某一位(目前简单了解)
2023-03-26 09:45:55
1200
2
原创 初步了解STM32的学习笔记(以STM32F103C8T6为例)
●工程里对应建立Start、 Library、 User等同名称的分组,然后将文件夹内的文件添加到工程分组里工程选项,C/C++, Include Paths内声明所有包含头文件的文件夹。DMA用于搬运大量数据,它可以像CPU一样,使用其他外设,但又不需要CPU参与,这是为了省下CPU的时间干别的事。(注意:以前51用的是5V,而USB也是5V,所以直接插上,而stm32会加上一个稳压芯片,让电压为3.3V)22、23、35、36、47、48是系统的主电源口(VSS是负极,VDD正极)
2023-03-26 09:44:05
6350
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人