GPIO示例
来源:互联网 发布:人防大数据 编辑:程序博客网 时间:2024/05/01 13:42
#include <stdio.h>#include <stdlib.h>#include <string.h>#include "mmu.h"#include "typedef.h"#include "S3C2451_gpio.h"//#include "S3C2451_uart.h"//#include "S3C2451_irq.h"//#include "S3C2451_eint.h"U8 disnum = 0;void led_init(void);void key_init(void);void display(void);void delay(unsigned int count);void Main(){BIT_Typedef temp;//MMU³õʼ»¯£ºÔÚ³ÌÐò×ʼµÄʱºòµ÷ÓÃMMU_Init();led_init();key_init();while(1){display();temp = GPIO_ReadBit(GPIOF,GPIO_PIN_0);if(temp == BIT_RESET ){disnum++;if(disnum == 16)disnum = 0;}temp = GPIO_ReadBit(GPIOF,GPIO_PIN_1);if(temp == BIT_RESET ){disnum--;if(disnum > 15)disnum = 15;}temp = GPIO_ReadBit(GPIOF,GPIO_PIN_2);if(temp == BIT_RESET ){disnum = 0;}temp = GPIO_ReadBit(GPIOF,GPIO_PIN_3);if(temp == BIT_RESET ){disnum = 15;}};}void delay(unsigned int count){int j = 1000;int i = 0;while(--j)for(i =count; i > 0; i --);}void led_init(){GPIO_Init_Typedef led1;GPIO_Init_Typedef led2;GPIO_Init_Typedef led3;GPIO_Init_Typedef led4;led1.pinx = GPIO_PIN_5 ;led1.mode = GPIO_MODE_OUT;led1.udp = GPIO_UDP_PULLUP;led2.pinx = GPIO_PIN_6;led2.mode = GPIO_MODE_OUT;led2.udp = GPIO_UDP_PULLUP;led3.pinx = GPIO_PIN_25;led3.mode = GPIO_MODE_OUT;led3.udp = GPIO_UDP_PULLUP;led4.pinx = GPIO_PIN_26;led4.mode = GPIO_MODE_OUT;led4.udp = GPIO_UDP_PULLUP;GPIO_Init(GPIOB,led1);GPIO_Init(GPIOB,led2);GPIO_Init(GPIOA,led3);GPIO_Init(GPIOA,led4);}void key_init(){GPIO_Init_Typedef key1;GPIO_Init_Typedef key2;GPIO_Init_Typedef key3;GPIO_Init_Typedef key4;key1.pinx = GPIO_PIN_0;key1.mode = GPIO_MODE_IN;key1.udp = GPIO_UDP_PULLUP;key2.pinx = GPIO_PIN_1;key2.mode = GPIO_MODE_IN;key2.udp = GPIO_UDP_PULLUP;key3.pinx = GPIO_PIN_2;key3.mode = GPIO_MODE_IN;key3.udp = GPIO_UDP_PULLUP;key4.pinx = GPIO_PIN_3;key4.mode = GPIO_MODE_IN;key4.udp = GPIO_UDP_PULLUP;GPIO_Init(GPIOF,key1);GPIO_Init(GPIOF,key2);GPIO_Init(GPIOF,key3);GPIO_Init(GPIOF,key4);}void display(){if(disnum & 0x01){GPIO_WriteBit(GPIOB,GPIO_PIN_5,BIT_RESET );}else{GPIO_WriteBit(GPIOB,GPIO_PIN_5,BIT_SET );}if((disnum >> 1) & 0x01){GPIO_WriteBit(GPIOB,GPIO_PIN_6,BIT_RESET );}else{GPIO_WriteBit(GPIOB,GPIO_PIN_6,BIT_SET );}if((disnum >> 2) & 0x01){GPIO_WriteBit(GPIOA,GPIO_PIN_25,BIT_RESET );}else{GPIO_WriteBit(GPIOA,GPIO_PIN_25,BIT_SET );}if((disnum >> 3) & 0x01){GPIO_WriteBit(GPIOA,GPIO_PIN_26,BIT_RESET );}else{GPIO_WriteBit(GPIOA,GPIO_PIN_26,BIT_SET );}}
阅读全文
0 0
- GPIO示例
- Linux GPIO 使用示例
- HI35XX GPIO使用及示例
- gpio
- gpio
- GPIO
- GPIO
- GPIO
- GPIO
- GPIO
- GPIO
- GPIO
- GPIO
- GPIO
- gpio
- GPIO
- gpio
- GPIO
- python学习之第三方包安装方法
- oracle游标
- setImageBitmap 图片太大部分机型不显示
- 勒索病毒-批处理关闭135 137 445等端口
- oracle练习
- GPIO示例
- 解决jQuery和其它库的冲突
- mybatis学习:四
- spring boot 资料整合
- 无法成功完成操作,因为文件包含病毒或潜在垃圾软件.
- 利用TensorFlow实现CNN
- 解决:HTTP 错误 404.2
- eclipse一键导包快捷键
- 数据库切分