自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 MSP430F5529 GPIO库函数介绍及使用

端口P1和P2始终具有中断能力,单独分配中断源。端口P1、P2可以合成为PA,P3、P4可以合成为PB等等。MSP中大家如果配好环境的话可以找到其中的GPIO库函数,接下来我会一一列举出其中的函数,并说明其作用。GPIO驱动强度默认为低驱动强度,以减少电磁干扰。数字I/O功能包括:独立可编程的单个I/ o。输入或输出的任何组合单独配置P1和P2中断。数据寄存器单独配置的上拉或下拉电阻。某些设备可能包含额外的端口中断。以下是引脚输出高电平代码。

2023-07-19 21:51:26 612

原创 MSP430F5529资源介绍

右上有一块芯片为板载仿真器,什么用呢,类似于把STLink给你板载到你的STM32上,这样你就可以直接调试了,然后同时你不仅可以边调试,还可以边接收USB串口数据,这也就是USB集线器的作用。MSP具有两个晶振,其中32MHZ晶振用于提供MSP时钟,而4MHZ晶振(陶瓷谐振器)是由于USB操作需要USB锁相环的高频参考时钟,所以添加了4MHZ这一陶瓷谐振器。再下面就是我们主要使用的MSP的主控部分了,其中板子上面的供电电源,一定要连接下面的跳线帽如果没有连接的话,我们的MSP是无法供电的。

2023-07-18 22:32:26 1842 1

原创 STM32位带操作

可以看到下图,最下面代码区最多能够存储0.5GB,即地址(0x0000 0000 ~0x1FFFFFFF)可以用来存储代码,依次上去为SRAM(用于存储变量),Peripheral(外设),External RAM(外部扩展RAM),External device(外部扩展设备外设),再上面为服务于CM3的私房外设,包括NVIC寄存器,MPU寄存器以及片上调试组件。既然说明了位带操作的是什么样的情况,那么这个外带操作我们该怎么实现呢,我们又该用哪里的地址来代表这个地址里的二进制数呢。(片上外设区中的最低。

2023-07-08 12:05:46 544

原创 STM32时钟系统讲解(学习笔记)

启动文件中会有一个接口调用系统时钟初始化函数,即在STM32开机时便会自动初始化系统时钟,故我们开始时不用配置系统时钟源。共有5个时钟源:HSI RC(高速内部时钟,内部振荡器产生)、HSE Osc(高速外部时钟,晶振)、LSE Osc、LSI RC、PLL(锁相环倍频,将频率放大)CSS监控系统时钟,若外部晶振不起振,则自动选择时钟源位HSI。系统时钟:可以来源HSI RC、HSE Osc、PLLCLK。LSI RC:独立看门狗的时钟来源,或者RTC时钟的来源。系统时钟对系统的外设提供时钟源。

2023-06-28 21:43:02 354 1

原创 STM32有关GPIO 理解(自学笔记)

由ODR寄存器控制输入信号,两个MOS管作为开关控制,由上下两个MOS做到推挽输出,推时为灌电流,电流输出到负载,输出高电平。挽时为拉电流,电流由负载流向芯片,输出低电平。开漏输出有两种,一种为低电平,一种为高阻态。如果要输出高电平的话可以输出高阻态,然后外接上拉电阻。第一张图的OUT为高阻态输出,第二张图的OUT2则为接上拉电阻使电路输出为高电平。:共32位,每四位控制一个引脚的模式。:共32位,每四位控制一个引脚的模式。:只用低16位,读取IO的输入状态。:只用低16位,控制IO的输出状态。

2023-06-28 14:30:37 125 1

原创 新建工程(寄存器版)(自学笔记)

对于头文件用<>和“”的解释:用<>表示是去系统中找到这个头文件,若用“”表示是先去工程文件中寻找头文件,如果没找到再去系统找到该头文件。即SystemInit,所有我们先自己写一个空函数在main文件下将不会报错。编译的话将会报错,原因是因为我们插入了库函数中写的时钟函数。其中FLASH大小可以看第二个字母丝印了解。如果只添加启动文件的话。

2023-06-28 11:26:18 74 1

原创 STM32寄存器映射(学习笔记)

寄存器与库函数的区别在于,我们用寄存器编程的话,我们要知道每个寄存器的内容该怎么配置,而库函数其实是更深层次的封装,将寄存器的内部的位也给封装了,可以更直观的记住每个寄存器怎么使用。因为每个寄存器占用4个字节,即32位,故我们在结构体中定义每个结构体,用unsigned无符号32位变量声明,即可做到每个寄存器都在结构体内,用结构体指针访问寄存器。外设根据速度的不同挂载到AHB、APB1、APB2三条总线上。

2023-06-28 11:04:19 120 1

原创 STM32寄存器理解(学习笔记)

3、DMA可以不通过CPU直接传输数据,当数据传输时CPU只需要发送一个指令即可使其数据不通过CPU发送,加快CPU的效率,某种程度上做到CPU双线运行。4、总线矩阵用来仲裁,DMA与DCode都可以读取数据,避免两者读数冲突,于是用总线矩阵进行仲裁决定由谁来读取数据,相当于一个开关。总结:对于单片机操控其实都是定位每个外设的地址,然后对地址里的内容进行操作,这便是寄存器操作,也是所有单片机的通用逻辑。ODR寄存器为端口的数据寄存器,控制GPIOB的16个引脚的数据输出,地址偏移为0CH。

2023-06-27 22:45:50 544

原创 STM32介绍(自学记录)

STM32为32位单片机,基于ARM(Cortex-M3)内核,SOC厂商制作外设。高级外设:SDIO(驱动SD卡)、FSMC(驱动屏幕)、I2S、ADC。第四个字母表示温度等级(不用关注)内部自带了串口,I2C,SPI,第三个字母表示封装(不是很重要)第二个字母表示FLASH大小。第一个字母表示引脚数,32——32位控制器。

2023-06-27 21:46:57 88 1

原创 有关于7805和7905构成正负5伏电源的注意事项

我们可以比对一下区别,第一次的接法我们只知道输出两端电压为一个恒定值,可是这两端对地的电压呢,不确定,对,我们确定不了这个电压,这个电压并不是我们想当然的上下平分,它也会受到7805和7905的芯片内部结构干扰,所以我们需要给它的输入两端一个锚定点,如果我们以第二种接法进行的话就能保证其输出两端对地的电压都是几乎相等的,才不会造成电压分配不均的情况。这样接线咋一看好像没有什么问题,但仿真过的人应该都明白,结果就是7805那边电压一直减小,直到我们电压减小的几乎没有。我们看一看下面的一张仿真图。

2023-04-16 13:48:58 2098 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除