可编程控制律加速器(CLA),可以提高代码的效率。100M
四条 Σ-Δ 滤波器模块 (SDFM) 输入通道。
可配置逻辑块 (CLB)。
FLASH 256KB
GPIO pins 40
AIO inputs 21
编程环境是使用CCS10.2
I/O pin configuration
1、选择需要的引脚,写入GPyMUX1/2寄存器(当改变GPyMUX1/2寄存器时,需要先置0),默认情况下所有引脚都为通用I/O
2、(可选)使能内部上拉电阻,操作寄存器GPyPUD,(默认情况上拉都是禁止的)。当没有外部信号驱动输入引脚时,上拉可以用来保持输入引脚处于已知状态。
3、在GPyCTRL寄存器中选择限定采样周期,在GPyQSEL1和GPyQSEL2寄存器中选择限定采样类型(默认情况为同步采样,周期等于PLLSYSCLK)
4、在GPyDIR寄存器中选择引脚的输入输出方向(默认为输入),选择为输出之前要写GPySET、GPyCLEAR或GPyDAT寄存器
5、选择低功率模式唤醒源,写入GPIOLPMSEL0和GPIOLPMSEL1寄存器适当位
6、选择外部中断源。首先,启用中断本身(通过XINTnCR寄存器配置),其次选择输入X-BAR信号源设置XINT1-5管脚,分别为4、5、6、13和14.
在主函数main.c中输入如下代码,并编译。下载运行后,LaunchPad的红色Led会闪烁,频率1Hz。
#include "F28x_Project.h"
#include "device.h"
#include "math.h"
#define DEVICE_GPIO_PIN_LED1 23U // GPIO number for LD4
#define DEVICE_GPIO_PIN_LED2 34U // GPIO number for LD5
void main(void)
{
// 初始化时钟和外设 Initialize device clock and peripherals
Device_init();
// InitSysCtrl(); //本工程不能使用寄存器的InitSysCtrl();函数初始化。
/*//库函数版配置
// 初始化GPIO并设置为推挽输出 Initialize GPIO and configure the GPIO pin as a push-pull output
Device_initGPIO();
GPIO_setPadConfig(DEVICE_GPIO_PIN_LED1, GPIO_PIN_TYPE_STD); // Push-pull output or floating input
GPIO_setDirectionMode(DEVICE_GPIO_PIN_LED1, GPIO_DIR_MODE_OUT);
*/
InitGpio(); //寄存器指令配置
GPIO_SetupPinMux(DEVICE_GPIO_PIN_LED1, GPIO_MUX_CPU1, 0);
GPIO_SetupPinOptions(DEVICE_GPIO_PIN_LED1, GPIO_OUTPUT, GPIO_PUSHPULL);
// 初始化PIE并清空PIE寄存器,关闭CPU中断
// Initialize PIE and clear PIE registers. Disables CPU interrupts.
Interrupt_initModule();
// 初始化PIE向量表
// Initialize the PIE vector table with pointers to the shell Interrupt
// Service Routines (ISR).
Interrupt_initVectorTable();
// Enable Global Interrupt (INTM) and realtime interrupt (DBGM)
EINT;
ERTM;
float a=cos((float)3.1415926/4); // FPU32
float b=__sin((float)(3.14/4)); // TMU
for(;;)
{
// Turn on LED
// 硬件电路设计是GPIO输出低电平时LED亮
GPIO_writePin(DEVICE_GPIO_PIN_LED1, 0);
// 延迟0.5s Delay for a bit.
DEVICE_DELAY_US(500000);
// Turn off LED
GPIO_writePin(DEVICE_GPIO_PIN_LED1, 1);
// Delay for a bit.
DEVICE_DELAY_US(500000);
}
}