@floatsd
2015-12-29T14:31:47.000000Z
字数 4470
阅读 1647
CM4实验报告
- 把CCS安装好,熟悉CCS操作,编译界面
- 创建工程,开始学习TM4C1294软件开发过程
- 了解GPIO的概念,学会查找端口功能,调用GPIO库函数让LED跑起来
/******************************************************************** 函数: Clock_Init()* 描述: 配置使能系统时钟* 输入值:无* 返回值:无*****************************************************************/void Clock_Init(){SysCtlClockFreqSet((SYSCTL_XTAL_25MHZ |//外部时钟25MHzSYSCTL_OSC_MAIN |//OSC时钟源选择主振荡器作为OSCSYSCTL_USE_PLL |//采用锁相环PLL作为系统时钟源SYSCTL_CFG_VCO_480), //压控振荡器频率480MHzsysClock_Fr);//设定系统频率为sysClock_Fr}
uint32_t SysCtlClockFreqSet(uint32_t ui32Config,
uint32_t ui32SysClock);这里ui32Config表示时钟配置,例如外部时钟,是否使用PLL,时钟源设置等,它的其他可选项如下图: 
| 信号 | 端口 | 信号 | 端口 |
|---|---|---|---|
| LED0 | PF1 | LED1 | PF2 |
| LED2 | PF3 | LED3 | PL0 |
| LED4 | PL1 | LED5 | PL2 |
| LED6 | PL3 | LED7 | PL4 |
/******************************************************************** 函数: LED_Init()* 描述: LED的配置及初始化* 输入值:无* 返回值:无*****************************************************************/void LED_Init(){//使能GPIOF和GPIOL模块SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF);SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOL);//将8盏LED配置为输出模式(GPIO管脚方向)GPIOPinTypeGPIOOutput(GPIO_PORTF_BASE,GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3);GPIOPinTypeGPIOOutput(GPIO_PORTL_BASE,GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3|GPIO_PIN_4);}
/******************************************************************** 函数: LED_ON(uint8_t NumLED)* 描述: 点亮某一盏LED灯* 输入值:uint8_t NumLED* 返回值:无*****************************************************************/void LED_ON(uint8_t NumLED){switch(NumLED){case 0: GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_1,GPIO_PIN_1);break;case 1: GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_2,GPIO_PIN_2);break;case 2: GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_3,GPIO_PIN_3);break;case 3: GPIOPinWrite(GPIO_PORTL_BASE,GPIO_PIN_0,GPIO_PIN_0);break;case 4:GPIOPinWrite(GPIO_PORTL_BASE,GPIO_PIN_1,GPIO_PIN_1);break;case 5: GPIOPinWrite(GPIO_PORTL_BASE,GPIO_PIN_2,GPIO_PIN_2);break;case 6: GPIOPinWrite(GPIO_PORTL_BASE,GPIO_PIN_3,GPIO_PIN_3);break;case 7: GPIOPinWrite(GPIO_PORTL_BASE,GPIO_PIN_4,GPIO_PIN_4);break;default: ledclose();break; //让所有灯灭的一个函数}}
/******************************************************************** 函数: LED_OFF(uint8_t NumLED)* 描述: 不亮某一盏LED灯* 输入值:uint8_t NumLED* 返回值:无*****************************************************************/void LED_OFF(uint8_t NumLED){switch(NumLED){case 0: GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_1,0x00);break;case 1: GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_2,0x00);break;case 2: GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_3,0x00);break;case 3: GPIOPinWrite(GPIO_PORTL_BASE,GPIO_PIN_0,0x00);break;case 4: GPIOPinWrite(GPIO_PORTL_BASE,GPIO_PIN_1,0x00);break;case 5: GPIOPinWrite(GPIO_PORTL_BASE,GPIO_PIN_2,0x00);break;case 6: GPIOPinWrite(GPIO_PORTL_BASE,GPIO_PIN_3,0x00);break;case 7: GPIOPinWrite(GPIO_PORTL_BASE,GPIO_PIN_4,0x00);break;default: ledclose();break; //让所有等灭的一个函数}}
/******************************************************************** 函数: Delay(uint32_t CountMs)* 描述: 延时* 输入值: uint32_t CountMs* 返回值: 无*****************************************************************/void Delay(uint32_t CountMs){SysCtlDelay(CountMs*sysClock_Fr/3000);}
void GPIOPin Type ADC (uint32_t ui32Port, uint8_t ui8Pins)void GPIOPin Type CAN (uint32_t ui32Port, uint8_t ui8Pins)void GPIOPin Type CIR (uint32_t ui32Port, uint8_t ui8Pins)void GPIOPin Type Comparatorvoid GPIOPin Type EPIvoid GPIOPin Type Ethernet LEDvoid GPIOPin Type Ethernet MIIvoid GPIOPin Type GPIOInputvoid GPIOPin Type GPIOOutput