TM4C123系列
程序如下:用逻辑分析仪看 PG2 始终保持高电平(原意是输出脉冲)
int main(void)
{
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOG);
GPIOPinTypeGPIOOutput(GPIO_PORTG_BASE, GPIO_PIN_2);
while (1)
{
GPIOPinWrite(GPIO_PORTG_BASE, GPIO_PIN_2, 0);
SysCtlDelay(250 * (SysCtlClockGet() / 3000));
GPIOPinWrite(GPIO_PORTG_BASE, GPIO_PIN_2, 0);
SysCtlDelay(250 * (SysCtlClockGet() / 3000));
}}
手册上没找到例子,程序可以编译通过,也能下载到芯片里
xyz549040622:
1.系统的主时钟没有设置
2.你的程序配置是否OK,给你个LED的例子
//LED实验程序解析 //头文件 #include <stdint.h> #include <stdbool.h> #include "inc/hw_memmap.h" #include "inc/hw_types.h" #include "driverlib/sysctl.h" #include "driverlib/rom.h" #include "driverlib/gpio.h" #include "driverlib/fpu.h" #include "driverlib/pin_map.h"int main (void) {//使能FPUFPUEnable();FPULazyStackingEnable();//设置系统时钟为50MHz (400/2/4=50)SysCtlClockSet(SYSCTL_SYSDIV_4 |SYSCTL_USE_PLL|SYSCTL_OSC_MAIN |SYSCTL_XTAL_16MHZ);//使能相关的外设ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOG);//配置PG2为输出ROM_GPIOPinTypeGPIOOutput(GPIO_PORTG_BASE,GPIO_PIN_2);while(1) {//翻转LED,延时时间为250ms//延时 = (SysCtlClockGet()/12)*(3/SysCtlClockGet())=0.25sROM_GPIOPinWrite(GPIO_PORTG_BASE,GPIO_PIN_2, GPIO_PIN_2);ROM_SysCtlDelay(SysCtlClockGet()/12);ROM_GPIOPinWrite(GPIO_PORTG_BASE,GPIO_PIN_2, 0);ROM_SysCtlDelay(SysCtlClockGet()/12); } }
xiaoming yu1:
回复 xyz549040622:
谢谢,我试试你的方案