小白的MSP432学习之路(1)

时间:2024-04-10 21:02:07

我是一个新接触MSP432的小白,看了很多大佬的博客,决定自己也写一个。
说实话,我自己也不知道自己的理解对不对,所以欢迎各位在评论区多多指摘,共同进步。嘿嘿。开始啦~~~
时钟
MSP432P4xx 系列共计提供了七种时钟源。
-DCO是高频的数控振荡器。这是一种最为常用的高频内部时钟源,它可在任意环境下生成 1 到 48 MHz 的高频率时钟。
-HFXT是通过外接高频晶体实现的高频时钟源,同样可以实现1到 48 MHz的任意高频率时钟源。
-MODOSC是一种可运行于24MHz的内部振荡器。MODOSC 适用于内部模拟模块(仅 ADC 或闪存),特别面向于需要24MHz时钟源方可运行的1MHzADC。
-SYSOSC 是内部的低频率振荡器,运行于 5MHz,对于一些较低频率的操作和应用,可使用 SYSOSC。
-LFXT 是通过外接低频晶体实现的低频时钟,此类晶体为典型 32KHz 晶体。它可用于运行精确的 RTC 时钟。
REFO 是低频的内部振荡器,可生成 128KHz 的时钟信号,同时它还可被分频为 32KHz 用于 RTC。
-VLO是超低频振荡器,它是另一种可生成 10KHz 时钟信号的内部振荡器。
这七种时钟源可用于产生 MSP432 上的五种不同时钟:
-MCLK,它是用于驱动 CPU 以及潜在 DMA 运算的主时钟。
-SMCLK 和高速 SMCLK(也称为 HSMCLK)。这两种时钟可用于驱动不同外设,例如 ADC、高速计时器和通信模块。
-ACLK和BCLK 是专为超低功耗模式而优化的低频时钟,适用于低频和低功耗模式。需特别提出的是,ACLK和BCLK均可在从128KHz到10KHz范围内的任意环境下运行。
可以用 DCO 来驱动 MCLK,也可以用 MDOSC 来驱动 MCLK,以此类推。

学习(一)配置GPIO端口
-挂起看门狗。
经过我的对比,我发现这条程序在开发的时候基本上可以无脑写上去了。
小白的MSP432学习之路(1)
-GPIO设置成输出端口。
从函数名,可以看出来,这段代码的作用是选择port和pin作为输出口。

小白的MSP432学习之路(1)
其中,port可选择的范围是P1-P11加上PJ,一共是12个端口,pin的范围从0到15.根据库函数中的列表,选择的时候对应的数值如下。
小白的MSP432学习之路(1)
小白的MSP432学习之路(1)
(这部分在CCS中的GPIO.h文件中可以找到)
-将对应的接口设置为高电平输出。
小白的MSP432学习之路(1)
括号内的参数与上一个函数一样。

学习(二)按键控制
-按键消抖
-硬件消抖:按键两端并联一个电容。
-软件消抖:利用延时函数或者使用SysTick定时器。(代码未完整)
小白的MSP432学习之路(1)
(还有另外一种利用中断的方式,但是我觉得这样就够了)