基于正点原子的开发板平台,测试输入和输出,熟悉嵌入式的基本的IO控制,附带程序源码,本程序的开发基于标准库,亲测有效,通过开发板上的4个按钮(KEY_UP、KEY0、KEY1和KEY2,来控制板上的LED和蜂鸣器,通过不同的输出来控制不同的输出,具体实现为按WKUP 按钮控制蜂鸣器,按KEY2按钮控制绿灯,按KEY1按钮控制绿灯,按KEY0按钮,红灯绿灯以1秒交替周期闪烁,蜂鸣器以1秒周期通断。
完整源码:
InputOutputtest.7z
(94.33 KB, 售价: 1 E币)
部分源码:
- #include "sys.h"
- #include "delay.h"
- #include "led.h"
- #include "beep.h"
- #include "key.h"
- int main(void)
- {
- u8 key;
- Stm32_Clock_Init(336,8,2,7);//设置时钟,168Mhz
- delay_init(168); //延时初始化
- LED_Init(); //初始化与LED连接的硬件接口
- BEEP_Init(); //初始化蜂鸣器IO
- KEY_Init(); //初始化与按键连接的硬件接口
- LED0=0; //先点亮红灯
- while(1)
- {
- key=KEY_Scan(0); //得到键值
- if(key)
- {
- switch(key)
- {
- case WKUP_PRES: //控制蜂鸣器
- BEEP=!BEEP;
- break;
- case KEY2_PRES: //控制LED0翻转
- LED0=!LED0;
- break;
- case KEY1_PRES: //控制LED1翻转
- LED1=!LED1;
- break;
- case KEY0_PRES: //同时控制LED0,LED1翻转
- // LED0=!LED0;
- // LED1=!LED1;
-
- while(1)
- {
- // HAL_GPIO_TogglePin(GPIOF,GPIO_PIN_8);
- // HAL_Delay(500);
- //
- LED0=0;
- LED1=1;
- BEEP=0;
- delay_ms(1000);
- LED0=1;
- LED1=0;
- BEEP=1;
- delay_ms(1000);
- LED0=0;
- LED1=0;
- BEEP=0;
- delay_ms(1000);
- LED0=1;
- LED1=1;
- BEEP=1;
- delay_ms(1000);
- }
-
- break;
-
-
- }
- }else delay_ms(10);
- }
- }
复制代码
【必读】版权免责声明
1、本主题所有言论和内容纯属会员个人意见,与本论坛立场无关。2、本站对所发内容真实性、客观性、可用性不做任何保证也不负任何责任,网友之间仅出于学习目的进行交流。3、对提供的数字内容不拥有任何权利,其版权归原著者拥有。请勿将该数字内容进行商业交易、转载等行为,该内容只为学习所提供,使用后发生的一切问题与本站无关。 4、本网站不保证本站提供的下载资源的准确性、安全性和完整性;同时本网站也不承担用户因使用这些下载资源对自己和他人造成任何形式的损失或伤害。 5、本网站所有软件和资料均为网友推荐收集整理而来,仅供学习用途使用,请务必下载后两小时内删除,禁止商用。6、如有侵犯你版权的,请及时联系我们(电子邮箱1370723259@qq.com)指出,本站将立即改正。
|