我是一个本科生,ouc,这个学校大家听过么?呵呵,小地方。好了,不说废话哈。最近在做点东西。用的是lm3s8962的板子。老师让用gpio模拟sccb时序。我们现在写了个使用gpio的程序,可一直有问题。特此请教各位前辈了。看看这个程序哪有问题。我想通过这个程序实现的是从某一端口输出1和0.可是一直不成功,由于在寝室没示波器,我们在该管教接了个led灯来判断该口的输出(这样可以么?)
#include "inc/hw_memmap.h"
#include "inc/hw_types.h"
#include "driverlib/sysctl.h"
#include "driverlib/gpio.h"
void delay_100us(void) // 延时100us
{
unsigned int i,j,k;
for(i=0;i<1;i++)
{
for(j=0;j<1;j++)
for(k=0;k<=7;k++);
}
}
void delay_500us(void) //延时500us
{
unsigned int i,j;
for(i=0;i<2;i++)
{
for(j=0;j<2;j++)
delay_100us();
}
}
void main()
{
unsigned int i;
SysCtlClockSet( SYSCTL_SYSDIV_1 | SYSCTL_USE_OSC | SYSCTL_OSC_MAIN |SYSCTL_XTAL_8MHZ );
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOA);//使能PA口
GPIODirModeSet(GPIO_PORTA_BASE, GPIO_PIN_3, GPIO_DIR_MODE_OUT);/* 设置 GPIO pa3为输出口 */
GPIOPadConfigSet(GPIO_PORTA_BASE,GPIO_PIN_3,GPIO_STRENGTH_2MA, GPIO_PIN_TYPE_STD );/* 配置端口类型为2ma弱上拉输出 */
GPIOPinWrite(GPIO_PORTA_BASE,GPIO_PIN_3, 0); /*初始化GPIO口 */
{
delay_500us();
}
for(i=0;i<10;i++)
{
delay_500us();
}
while(1)
{
GPIOPinWrite(GPIO_PORTA_BASE,GPIO_PIN_3,0x00);
for(i=0;i<5;i++)
{
delay_500us();
}
GPIOPinWrite(GPIO_PORTA_BASE,GPIO_PIN_3,0x04);
}
}
请大家帮帮忙了 小弟实在能力有限了 谢谢了
此帖出自
小平头技术问答
一周热门 更多>