智能车小白学习日记


前言

随着智能计算机行业的不断发展,众多领域都离不开“智能”两个字,对于在校大学生来说,智能车竞赛是含金量较高的比赛之一,其吸引众多爱好者投身其中,在十五届智能车比赛中盲目挣扎数月,卡在摄像头问题上,不觉十六届核心板霸主地位已然易主,从恩智浦转向沁恒,从一个小白转向下一个小白,好在与上一年瞎猫似乱摸较好的是,这次似乎有着靠谱学长的帮助。


提示:下面开始第一阶段的开发日记,GPIO模块的学习

一、GPIO是什么?

单片机输入输出口。

二、使用步骤

1.点灯示例:

代码如下(点灯):

int main(void)
{
	u8 i=0;

	NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
  Delay_Init();
	USART_Printf_Init(115200);
	printf("SystemClk:%d\r\n",SystemCoreClock);

	printf("GPIO Toggle TEST\r\n");
	GPIO_Toggle_INIT();

	while(1)
  {
		Delay_Ms(250);
		GPIO_WriteBit(GPIOA, GPIO_Pin_0, i==0);
	}
}





2.小灯循环亮灭

int main(void)
{
	u8 i=0;

	NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
  Delay_Init();
	USART_Printf_Init(115200);
	printf("SystemClk:%d\r\n",SystemCoreClock);

	printf("GPIO Toggle TEST\r\n");
	GPIO_Toggle_INIT();

	while(1)
  {
		Delay_Ms(250);
		GPIO_WriteBit(GPIOA, GPIO_Pin_0, (i==0) ? (i=Bit_SET):(i=Bit_RESET));
	}
}





依照电路原理图给小灯对应引脚写高低电平,保证电路通断,小灯亮灭。

3.按键通断示例:


int main(void)
{
    u8 i=0;

    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
  Delay_Init();
    USART_Printf_Init(115200);
    printf("SystemClk:%d\r\n",SystemCoreClock);

    printf("GPIO Toggle TEST\r\n");
    GPIO_Toggle_INIT();

    GPIO_WriteBit(GPIOB, GPIO_Pin_8, 1);
    GPIO_WriteBit(GPIOB, GPIO_Pin_9, 1);
    while(1)
  {
        if(!KEY1){
       // Delay_Ms(250);
        GPIO_WriteBit(GPIOB, GPIO_Pin_8, 0);
        GPIO_WriteBit(GPIOB, GPIO_Pin_9, 0);
        Delay_Ms(1000);
        GPIO_WriteBit(GPIOB, GPIO_Pin_8, 1);
        GPIO_WriteBit(GPIOB, GPIO_Pin_9, 1);
    }
  }
}

总结

因为期末考试的原因,第一阶段工作量少,主要任务为环境配置及GPIO模块的部分学习,其中.h文件为函数等变量的申明,.c文件为方法的具体实现,本次只截取部分代码,其中的底层初始化配置尤其重要,留待下一阶段学习。
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值