选用材料:主控板MSP-EXP430F5529LP、陀螺仪、直流减速电机(可以选用光电编码器,霍尔电机不好调节PID)、TB6612电机驱动、超声波测距模块、灰度传感器、无线透传/蓝牙模块(便于两辆小车相互发送信息)、OLED屏等。总体思路:使用灰度传感器巡线,超声波检测前后车距,通过调节PID的位置环,控制两辆小车前后的距离,运用JY901进行陀螺仪矫正。2022TI_C1_JY901.c#include"2022TI_C1_JY901.h"structSAngleMpu_angle;//串口0初始化voidUsart0Init(void){GPIO_setAsPeripheralModul
在学我这个的文章的前提是软件已经安装好了,本来我想的使用keil开发msp430的但是我发现官网的sdk没有keil的版本的所以就直接放弃了,改为官方的ccs开发。其实ccs跟keil差不多都是写库然后导入到自己的工程里来,下面我们要想实现板子的点灯就得先搭建一下ccs的环境不然我们自己写好函数就会提示没有drivelib库1.先去ti官网下载一个mspware搜索结果-TI.com(传送门在此,手懒的可以直接点击这个) 就是这个东西下载好了直接安装建议安装在跟ccs一个路径下,然后我们打开里面的文件夹 里面会有这些文件,我们找到里面的deiverlib打开 里面还有一个driverlib再次
需提前学习:MSP430F5529库函数定时器A——定时中断;引脚手册获取;目录先上代码详解引脚复用选择引脚获取引脚手册看手册 时钟选择分频周期REGISTER选择比较输出模式模式类型 增计数模式下的比较输出连续计数模式下的比较输出增减计数模式下的比较输出占空比选择Timer_A_outputPWM()初始化函数定义参数baseAddressTimer_A_setCompareValue()函数介绍函数定义参数baseAddresscompareRegister compareValue先上代码我们先贴代码,再介绍这样方便理解。#include"driverlib.h"#defineTIMER
//这个程序利用TIMERA0生成1KHz的方波,从引脚P1.3输出,送到引脚P7.4, //再利用TIMERB0测量周期。为测试方便,引脚P1.0输出32KHz的ACLK,//引脚P2.2输出12MHz的SMCLK.// ACLK=LFXT1=32kHz;SMCLK=MCLK=12MHz//// MSP430F5529// -------------------------// /|\| XT1IN|-// || |32kHz// --|RST XT1OUT|-// |
写在前~本章将会详细的讲解msp430f5529单片机的时钟系统及其使用方法。如有不妥的地方欢迎各位大佬斧正!!!目录什么是时钟系统和时钟源MSP430f5529时钟源和时钟系统介绍产生时钟信号的时钟源:时钟配置什么是时钟系统和时钟源 在单片机中,单片机每开始一个周期的工作就需要一个节拍来告诉它,这就相当于我们的心脏每跳动一次,血液被泵到身体各处一次一样。那么单片机的时钟就是单片机工作所需要的节拍,单片机的取指令、译指令等工作都需要以这样的时钟周期为最小周期。 而实际上这样一个时钟就是一个方波信号,在每一个上升沿或者下降沿会迫使单片机工作一次。产生这样有规律的方波信号的源头就叫做时
该MCU是由德州仪器TI生产的16位低功耗单片机主要分以下型号:专注低功耗的1xx通用型,配备1KB-60KBFLASH、512B-10KBRAM,工作时耗电仅达200uA/MIPS,RAM保持模式耗电0.1uA,RTC模式耗电0.7uA;可在6us之内快速唤醒。搭载10/12位斜率SARADC,集成模拟比较器、DMA、硬件乘法器、BOR、SVS、12位DAC能耗比高的F2xx通用型,性能16MIPS@3.3V,配备1-120KBFLASH,8-128KBRAM,工作耗电220uA,配备10/12位斜率SARADC,集成16位Σ-ΔADC,基本上等于1xx的升级版性价比高的G2xx经济型,性能
波特率计算网站;导入MSP430Ware,查看例程;原理图和中文开发手册获取目录GPIO_setAsPeripheralModuleFunctionInputPin()和GPIO_setAsPeripheralModuleFunctionOutputPin函数声明 作用参数selectedPortselectedPins使用USCI_A_UART_init()函数声明 作用参数baseAddressparam USCI_A_UART_enable()函数声明作用参数baseAddress 使用USCI_A_UART_clearInterrupt()函数声明作用参数baseAddressmask
电机型号:工作方式:原理图以及接线:根据官方例程,主要代码为drive.c#include/**函数:PWM_Init()*功能:初始化PWM*P1.2*P1.3*/voidPWM_Init(void){//TA0CTL=0;//清除以前的设置//TA0CTL=MC_1;//定时器TA选择为增记数模式TA0CTL|=ID_0;//设置分频系数/*设置PWM通道一P1.2的输出模式*///TA0CCTL1=OUTMOD_7;//高电平PWM输出,占空比设置的是高电平的占空比TA0CCTL1=OUTMOD_3;//低电平PWM输出,占空比设置的是低电平的占空比P1DIR|=BIT2;//P1.2为
导入MSP430Ware,查看例程;数据手册以及原理图获取建议不是很了解寄存器的看完我的MSP430F5529学习笔记 目录GPIO_setAsOutputPin()函数声明作用参数selectedPortselectedPins修改的寄存器使用与GPIO_setAsOutputPin()参数一致的函数 GPIO_setOutputHighOnPin()GPIO_setOutputLowOnPin()GPIO_toggleOutputOnPin()GPIO_setAsInputPin()GPIO_setAsInputPinWithPullDownResistor() GPIO_setAsInp
本笔记整理自B站教程MSP430F5529单片机学习视频汇总基于库函数的开发—GPIO库函数右边部分写错了,看的时候注意基于库函数的开发—GPIO实践操作LED交替闪烁#include/**EXP-GPIO-01.C**Createdon:2023年3月10日*Author:ASUS*/#include"driverlib.h"voidmain(void){//关闭看门狗WDT_A_hold(WDT_A_BASE);//设置P1.0为输出(LED1)GPIO_setAsOutputPin(GPIO_PORT_P1,GPIO_PIN0);//设置P4.7为输出(LED2)GPIO_setAsOu