- 博客(25)
- 收藏
- 关注
原创 生成STM32底层逻辑代码软件
发现底层逻辑都差不多,后面想,可能有一种自动生成底层代码的软件,减轻工程师的负担,还真找到了STM32CubeMX:
2024-06-05 14:00:51
99
原创 STM32学习——第一章 STM32介绍
STM32是ST公司基于ARM-Cortex-M内核开发的32位微控制器(内核:程序指令执行、加减乘除的运算,都在内核中完成,相当于整个单片机的CPU)(个人理解:cpu搭建外围电路,成为独属自己的cpu,譬如ST公司在ARM生产的内核外,集成电路,封装起来成为ST自己的单片机)STM32运用领域:嵌入式领域,如小车、无人机、机器人、无线通讯、物联网、工业控制等。
2024-06-05 13:58:17
160
原创 STM32学习——第六章 第二节 代码 定时器定时中断&定时外部中断1
(但是N32G003没有OLED的驱动例程,暂且不连接OLED,使用串口,发送 / 接收数据来验证)触类旁通,用N32G003接线,
2024-01-26 17:58:39
584
原创 N32G003学习——第六章 第一节 TIM定时中断
学习来源:[6-1] TIM定时中断_哔哩哔哩_bilibili介绍:STM32功能最强大,结构最复杂的外设——定时器本节主要内容:定时器的基本定时功能定一个时间,让定时器每隔一个时间产生一个中断,实现每隔一段时间执行一段程序官方说法:对输入的时钟进行计数,并在计数值达到设定值时触发中断简称:定时触发中断譬如:stm32主频一般72HZ,我们对此计数72次,每次1MHz,实际每次就是1us的时间若对此计数72000,每次1KMHz,实际每次就是1ms的
2023-12-29 12:00:31
1393
1
原创 C语言的详解与运用
这里0x12345678可以分为12、34、34、56、78一共4个字节。这种把小端(78)放在内存地址的低位(0x4000),叫小端小端分配。使用指针:地址间接访问,意思就是把变量的地址拿出来,通过指针,实现:使用指针,可操作数据的地址,实现数据的间接访问。优点:重要知识点,使用灵活,功能强大,C语言的灵魂。平常:定义一个变量,用变量的名字就可以用变量。讲解+运用,目的是听懂为前提,还能拿去用。联系:指针和底层硬件(内存)联系紧密。线性空间,每个区域,以一个字节为单位。如下位置:(简称:跨字节分配)
2023-12-06 15:30:43
367
1
原创 N32G003学习——第九章 第四节 串口数据包
2·使用固定长度的数据包,经过几个数据包,包头包尾都对齐了,剩下的数据包 ,应该就不会出现问题了。意思:要发送的数据,可能和包头、包尾是一样的,可能引起接收方误判。譬如:陀螺仪三维坐标XYZ,如果数据没有格式,分不清东西南北。3·增加包头包尾的数量,并且尽量呈现出载荷数据出现不了的状态。方法:把数据进行分割,成为一种格式,方便接收方进行识别。1·限制载荷数据的范围,范围不包括包头、包尾即可。常见问题:设置的包头、包尾,和数据载荷重复。第二种:可变包长,含包头包尾。第一种:固定包长,含包头包尾。
2023-11-09 08:38:06
128
1
原创 N32G003学习——第九章 第二节 USART串口外设
通用同步/异步收发器USART是STM32内部集成的硬件外设,可根据数据寄存器的一个字节数据自动生成数据帧时序,TX引脚发送出去,也可自动接收RX引脚的数据帧时序,拼接为一个字节,存放在数据寄存器自带波特率发生器,最高达4.5Mbits/s可配置数据位长度(8/9)停止位长度(0.5 / 1 / 1.5 / 2)可选校验位(无校验 / 奇校验 / 偶校验)支持同步模式、硬件流控制、DMA、智能卡、IrDA、LIN。
2023-09-07 18:28:58
492
1
原创 N32G003学习—— 第四章 第二节 OLED显示屏
感兴趣的可以看看驱动函数里面,I2C的时序,或者是I2C的引脚初始化成开漏输出,等等。里面的程序,默认I2C的引脚配置成PB8和PB9,(还是用学习stm的视频,用在N32G003上)使用4脚针OLED,I2C通讯。在如下位置找出要调用的驱动函数。用控制LED的文件编写。使用OLED驱动函数。
2023-08-31 18:22:58
142
原创 N32G003学习—— 第四章 第一节 OLED调试工具
OLED (Organic Light Emitting Diode),手机屏幕有时候hui'yo机发光二极管(oleds)OLED显示屏:具有新型显示屏的性能,具有相应的速度快、功耗低、视角宽、轻薄柔韧等特点。96英寸OLED模块:小巧精致,占用接口少,使用方便,在电子显示模块设计中非常常见。电源:3 ~ 5.5 V,通信协议:I2C/SPI,分辨率:128 * 64如下,左边是I2C通讯协议的屏幕接法,右边是SPI通讯协议的7脚接法(3)OLED驱动函数如下是显示屏的对应位置。
2023-08-30 03:05:50
131
1
原创 N32G003学习—— 第五章 第一节 EXTI外部中断
在主程序运行过程中,出现了特定的中断触发条件(中断源)使得CPU暂停当前正在运行的程序,转而去处理中断程序处理完成后又返回原来被暂停的位置继续运行(中断就是停下手头的东西,做另外的事情,完成事情后,回来继续做手头的东西)
2023-08-24 19:45:21
338
1
原创 N32G003学习 第三章 点触按键控制LED
同样在Hardware文件夹,创建KEY.c和KEY.h文件,同样把按键的代码进行模块化。之前提过uint8_t就是 unsigned char ,8位的声明。把驱动的代码,封装起来,单独的放在.C和.H文件里。作用:对模块外部声明,说明这个函数是可以被外部调用。新建Hardware文件夹,专门存放硬件驱动代码。位置(2)是#endif的下一行,一定要空行结尾。回到头文件LED.h声明这个函数。记得要定义,避免重复包含头文件。如果没有按键按下,就返回0。,然后写按键值,建好框架。位置(1)是声明函数。
2023-08-22 21:12:55
169
2
原创 STM32学习_第三章 GPIO 输入
有些数字很长,命名一个字符串或者一个数字,便于理解例:#define ABC 1234567 //不用加分号;int a =ABC;把1234567用ABC代替。
2023-08-22 12:53:37
52
1
原创 STC89C52_第二章 点亮LED 闪烁
要申明P2,直接引用自带的头文件<REGX52.H>,注意右键空白处添加即可。这个在头文件<INTRINS.H>,所以要把这头文件包裹在内。右键打开头文件,看到P2定义的地址,说明已经申明P2。C语言不支持二进制,不能写P2=0000 0000。由于这里延迟函数,用到_nop_();需要延时,这里STC-ISP有延时程序。注意:操作时候要接一个电阻,限流。重复开板子电源键,救恩那个开始烧录。TTL电平控制灯:5V+,0V-复制延迟函数到到主程序中、
2023-08-18 23:39:29
165
1
原创 N32G003学习——第一章:LED
1.RCC AHB外设时钟控制 (使能和失能AHB)3·使用输入和输出函数,控制GPIO。如下:(细分了开、关,所以不止3个,实际只有3种)1·用RCC 打开GPIO时钟。2.RCC APB2外设时钟控制。3.RCC APB1外设时钟控制。2·使用GPIO初始化函数。(2)常用函数:3个。
2023-08-18 19:48:06
476
1
原创 STC89C52_第一章
4·RAM:512字节(可丢失)(相当于工厂的车间,随时撤走)(相当于手机说的内存4g8g)5·ROM:8K(Flash)(只读,不易丢失)(相当于工厂的仓库,一直都在)(相当于硬盘)52:8k程序空间以及512字节RAM(程序空间ROM 以及 RAM空间 的大小)1·电源 : VCC(+) GND(-) (图右上角)3·51单片机系列,inter内核,STC公司(国内)6·工作频率:12MHz(单片机速度)(晶振提供)2·晶振 :单片机心脏,让程序往下走(图左下角)
2023-08-18 01:08:11
189
1
转载 单片机之外部时钟与内部时钟
51单片机不需要配置时钟,是因为一个时钟开了之后所有的功能都可以用了,而这个时钟是默认开启的,比如有一个水库,水库有很多个闸,这些闸默认是开启的,因此每个闸都会出水,任意一个闸可以直接用,但存在一个问题,没用到的闸也在出水,即也在耗能。51单片机中一个时钟把所有的都包了,而stm32的时钟是有分工的,并且每类时钟的频率不一样,因为没必要所有的时钟都是最高频率,够用即可,好比一个闸水流大小,我就洗个水,出来洗澡的水,没必要,消耗能源也多,所以不同的时钟也会有频率差别,或者在配置的时候可以配置时钟分频。
2023-02-27 15:34:29
2586
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人