用的keil5
环境安装视频https://www.bilibili.com/video/BV1z4411u76P/?spm_id_from=333.337.search-card.all.click&vd_source=c66e6183ead1715d20c8afce53b0923b略
Code:指令部分 , RO-data:只读数据 RW-data:全局变量 ZI-data:初始化为0的数据
1,没有准备延迟(可以用滴答计时器延迟和循环)
2,ADC14模块 MSP432P401R单片机-ADC14模块_哔哩哔哩_bilibili
3,Timer32
4,MSP432P401R 的硬件设计
深刻理解:深刻理解GPIO
复用输出模式:要实现芯片内自动控制电平的功能(PWM模式)而设置的模式
复用输入模式:略
浮空输入模式:在没有输出电平时,引脚电平是不定的(浮空的)[这一种输入模式的电平会完全取决于外部电路而与内部电路无关。有时候会用作对开关按键的读取。但是在没有外部电路接入的时候,IO脚浮空会使得电平不确定]
下拉输入模式:[在没有信号输入的情况下可以稳定在低电平]
上拉输入模式:[在没有信号输入的情况下可以稳定在高电平]
#define Key1 GPIO_getInputPinValue(GPIO_PORT_P1, GPIO_PIN1)
int main()
{
MySystem_init();
led_init();
key_init();
while(1)
{
if(Key1 == 0){
GPIO_setOutputHighOnPin(GPIO_PORT_P1, GPIO_PIN0);
}else {
GPIO_setOutputLowOnPin(GPIO_PORT_P1, GPIO_PIN0);
}
}
}
略
#include "driverlib.h"
#include "sys.h"
#include "LED.h"
#include "KEY.h"
#include "OLED.h"
#include "OLED_Data.h"
#define Key1 GPIO_getInputPinValue(GPIO_PORT_P1, GPIO_PIN1)
int i;
int main()
{
MySystem_init();
led_init();
key_init();
OLED_Init();
while(1)
{
if(Key1 == 0){
i++;
while(Key1 == 0);
}
OLED_Printf(0 ,40, OLED_8X16, "Num = %d", i);
OLED_ShowChinese(10, 10, "朵拉");
OLED_Update();
}
}
直接抄例程
#include "driverlib.h"
#include "sys.h"
#include "usart.h"
#include "LED.h"
#include "KEY.h"
#include "OLED.h"
#include "OLED_Data.h"
#define Key1 GPIO_getInputPinValue(GPIO_PORT_P1, GPIO_PIN1)
extern char data;
int main()
{
MySystem_init();
led_init();
key_init();
OLED_Init();
usart_init(115200);
while(1)
{
if(Key1 == 0)
{
UART_transmitData(EUSCI_A2_BASE, data);
}
OLED_Printf(0 ,0, OLED_8X16, "data = %c", data);
OLED_Update();
}
}
//P1口中断服务函数
void PORT1_IRQHandler(void)
{
uint32_t status;
status = MAP_GPIO_getEnabledInterruptStatus(GPIO_PORT_P1); //读取发生中断的中断源IO口
MAP_GPIO_clearInterruptFlag(GPIO_PORT_P1, status); //清除该口中断标志
if(status == GPIO_PIN5) //中断发生为P1.5
{
if(mpu_dmp_get_data(&pitch,&roll,&yaw)==0)
{
//得到了三个角,存在pitch,roll,yaw里面
}
}
}
定时器和通道 | CLK | CH0 | CH1 | CH2 | CH3 | CH4 |
---|---|---|---|---|---|---|
TA0 | 略 | P7.3 | P2.4 | P2.5 | P2.6 | P2.7 |
TA1 | 略 | P8.0 | P7.7 | P7.6 | P7.5 | P7.4 |
TA2 | 略 | P8.1 | P5.6 | P5.7 | P6.6 | P6.7 |
TA3 | 略 | P10.4 | P10.5 | P8.2 | P9.2 | P9.3 |
没学
//例1:串口中断优先级配置
Interrupt_setPriority(INT_EUSCIA2, 0<<5); //串口2优先级:0
//例2:外部中断优先级配置
Interrupt_setPriority(INT_PORT5, 1<<5); //外部中断线5优先级: 1
/*
这个函数有两个入口参数:中断类型(填你要配置的中断类型) ,优先级(“左移符号”左边填0-7,数字越小,优先级越高,0级中断优先级最高。)
*/
移植就行
移植就行
Ti的任意项目