ARM裸板驱动开发之LED驱动

void Port_Init(void);
void Beepon(void);
void Beepoff(void);
void Led_Display(int data);
void LedBeepTest(void);


void Port_Init(void)
{
//LED
    rGPKCON0 = (rGPKCON0 & ~(0xffffU<<16))|(0x1111U<<16);
    rGPKPUD  = (rGPKPUD  & ~(0xffU << 8))|(0x00U<<8);
//beep
    rGPFCON  =  rGPFCON&(~(0x1<<(29)));//GPD14   [29:28] 01输出
    rGPFCON  =  rGPFCON|(0x1<<(2*14));

rGPFPUD  =  rGPFPUD&(~(0x3<<(2*14)));//GPD14  [29:28]保留上拉11
rGPFDAT  =  rGPFDAT|0x0000;          // GPD14 [14]=1 ON  =0 OFF



}




void Beepon(void)
{
rGPFDAT  =  rGPFDAT|0x4000;          // GPD14 [14]=1
}


void Beepoff(void)
{
rGPFDAT  =  rGPFDAT&(~0x4000);          // GPD14 [14]=0
}




void Led_Display(int data)
{
    rGPKDAT = (rGPKDAT & ~(0xf<<4)) | ((data & 0xf)<<4);
}




void LedDelay(void)
{
    volatile unsigned int k;

    for(k = 0; k < 10000000; k++);
}
void LedBeepTest(void)
{
unsigned int i;

for(i=0;i<4;i++) 
{
   Led_Display(~(0x1<<i)); // 0001
   Beepon();
   LedDelay();
   Beepoff();
   LedDelay();
   }
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值