按下灯亮再按灯灭(按下时生效).doc_第1页
按下灯亮再按灯灭(按下时生效).doc_第2页
按下灯亮再按灯灭(按下时生效).doc_第3页
按下灯亮再按灯灭(按下时生效).doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

/* * * file GPIO_Togglemain.c * author MCD Application Team * version V2.0.1 * date 18-November-2011 * brief This file contains the main function for GPIO Toggle example. * * attention * * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS. * * © COPYRIGHT 2011 STMicroelectronics * */ /* Includes -*/#include stm8s.h/* * addtogroup GPIO_Toggle * */* Private typedef -*/* Private define -*/* Evalboard I/Os configuration */#define LED_GPIO_PORT (GPIOD)#define LED_GPIO_PINS (GPIO_PIN_2)#define KEY_GPIO_PORT (GPIOA)#define KEY_GPIO_PINS (GPIO_PIN_3)unsigned char temp=0;/* Private macro -*/* Private variables -*/* Private function prototypes -*/void delay_us(unsigned int a)while (a-);void delay_ms(unsigned int s) unsigned int t0; while (s-) for(t0=0;t0150;t0+); /* Private functions -*/* Public functions -*/* * brief Main program. * param None * retval None */void DelayUs2x(unsigned char t);/函数声明 void main(void) CLK_HSICmd(ENABLE);/开始内部高频RC CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV2);/不分频 /* Initialize I/Os in Output Mode */ GPIO_Init(LED_GPIO_PORT, (GPIO_Pin_TypeDef)LED_GPIO_PINS, GPIO_MODE_OUT_PP_HIGH_FAST); GPIO_Init(KEY_GPIO_PORT, (GPIO_Pin_TypeDef)KEY_GPIO_PINS, GPIO_MODE_IN_FL_NO_IT); (KEY_GPIO_PORT, KEY_GPIO_PINS)=1; while (1) if(!GPIO_ReadInputPin(KEY_GPIO_PORT, KEY_GPIO_PINS) delay_ms(10);if(!GPIO_ReadInputPin(KEY_GPIO_PORT, KEY_GPIO_PINS) /while(!GPIO_ReadInputPin(KEY_GPIO_PORT, KEY_GPIO_PINS);/ temp=temp;/GPIO_WriteReverse(GPIO_TypeDef* GPIOx, GPIO_Pin_TypeDef PortPins) / / if(temp=0) GPIO_WriteHigh(LED_GPIO_PORT,(GPIO_Pin_TypeDef)LED_GPIO_PINS); else GPIO_WriteLow(LED_GPIO_PORT,(GPIO_Pin_TypeDef)LED_GPIO_PINS); while(GPIO_ReadInputPin(KEY_GPIO_PORT, KEY_GPIO_PINS)=0); /* * brief Delay * param nCount * retval None */#ifdef USE_FULL_ASSERT/* * brief Reports the name of the source file and the source line number * where the assert_param error has occurred. * param file: pointer to the source file name * param line: assert_param error line source number * retval None */void assert_failed(uint8_t* file, uint32_t line) /* User can add his own implementation to report the file name and line number, ex: printf(Wrong parameters value

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论