rar

基于STR912的看门狗程序

  • 1星
  • 日期: 2013-09-22
  • 大小: 158.27KB
  • 所需积分:1分
  • 下载次数:1
  • favicon收藏
  • rep举报
  • 分享
  • free评论
标签: 看门狗STR912

void GPIO_DeInit(GPIO_TypeDef* GPIOx) {   /* Reset the GPIO registers values */   if(GPIOx == GPIO0)   {     SCU_APBPeriphReset(__GPIO0,ENABLE);     SCU_APBPeriphReset(__GPIO0,DISABLE);     SCU->GPIOTYPE[0x00] = 0x0000 ;     SCU->GPIOOUT[0x00]  = 0x0000;     SCU->GPIOIN[0x00]   = 0x0000;   }    if(GPIOx == GPIO1)   {     SCU_APBPeriphReset(__GPIO1,ENABLE);     SCU_APBPeriphReset(__GPIO1,DISABLE);     SCU->GPIOTYPE[0x01] = 0x0000 ;     SCU->GPIOOUT[0x01]  = 0x0000;     SCU->GPIOIN[0x01]   = 0x0000;   }    if(GPIOx == GPIO2)   {     SCU_APBPeriphReset(__GPIO2,ENABLE);     SCU_APBPeriphReset(__GPIO2,DISABLE);     SCU->GPIOTYPE[0x02] = 0x0000 ;     SCU->GPIOOUT[0x02]  = 0x0000;     SCU->GPIOIN[0x02]   = 0x0000;   }    if(GPIOx == GPIO3)   {     SCU_APBPeriphReset(__GPIO3,ENABLE);     SCU_APBPeriphReset(__GPIO3,DISABLE);     SCU->GPIOTYPE[0x03] = 0x0000 ;     SCU->GPIOOUT[0x03]  = 0x0000;     SCU->GPIOIN[0x03]   = 0x0000;   }    if(GPIOx == GPIO4)   {     SCU_APBPeriphReset(__GPIO4,ENABLE);     SCU_APBPeriphReset(__GPIO4,DISABLE);     SCU->GPIOTYPE[0x04] = 0x0000 ;     SCU->GPIOOUT[0x04]  = 0x0000;     SCU->GPIOIN[0x04]   = 0x0000;     SCU->GPIOANA = 0x00;   }    if(GPIOx == GPIO5)   {     SCU_APBPeriphReset(__GPIO5,ENABLE);     SCU_APBPeriphReset(__GPIO5,DISABLE);     SCU->GPIOTYPE[0x05] = 0x0000 ;     SCU->GPIOOUT[0x05]  = 0x0000;     SCU->GPIOIN[0x05]   = 0x0000;   }    if(GPIOx == GPIO6)   {     SCU_APBPeriphReset(__GPIO6,ENABLE);     SCU_APBPeriphReset(__GPIO6,DISABLE);     SCU->GPIOTYPE[0x06] = 0x0000 ;     SCU->GPIOOUT[0x06]  = 0x0000;     SCU->GPIOIN[0x06]   = 0x0000;   }    if(GPIOx == GPIO7)   {     SCU_APBPeriphReset(__GPIO7,ENABLE);     SCU_APBPeriphReset(__GPIO7,DISABLE);     SCU->GPIOOUT[0x07]  = 0xAAAA;     SCU->GPIOOUT[0x07]  = 0x0000;     SCU->GPIOIN[0x07]   = 0x0000;   }    if(GPIOx == GPIO8)   {     SCU_APBPeriphReset(__GPIO8,ENABLE);     SCU_APBPeriphReset(__GPIO8,DISABLE);     SCU->GPIOEMI = 0x00;   }    if(GPIOx == GPIO9)   {     SCU_APBPeriphReset(__GPIO9,ENABLE);     SCU_APBPeriphReset(__GPIO9,DISABLE);     SCU->GPIOEMI = 0x00;   } } /******************************************************************************* * Function Name  : GPIO_Init * Description    : Initializes the GPIOx peripheral according to the specified *                  parameters in the GPIO_InitStruct . * Input          :- GPIOx: where x can be (0..9) to select the GPIO peripheral. *                 - GPIO_InitStruct: pointer to a GPIO_InitTypeDef structure that *                   contains the configuration information for the specified GPIO *                   peripheral. * Output         : None * Return         : None *******************************************************************************/ void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct) {   /* Select pin direction */   u8 PinNumber = 0;   u8 Counter = 0;   u8 GPIO_Number = 0;   GPIO_Number = GPIO_GetGPIONumber(GPIOx);   if(GPIO_InitStruct->GPIO_Direction == GPIO_PinOutput)   {   GPIOx->DDR |= GPIO_InitStruct->GPIO_Pin;   }   else   {    GPIOx->DDR &= ~GPIO_InitStruct->GPIO_Pin;   }    for (Counter = 0; Counter < 8;Counter++)     {      /*Search pin number*/      PinNumber = (GPIO_InitStruct->GPIO_Pin & (1 <<Counter));      if((PinNumber >> Counter) == 1)      {         /*Output ALternate 0*/         SCU->GPIOOUT[GPIO_Number] &= ~(0x3 <<(Counter *2));         if(GPIO_InitStruct->GPIO_Alternate == GPIO_OutputAlt1)         {           /*Output ALternate 1*/           SCU->GPIOOUT[GPIO_Number] |= 1 << (Counter *2);         }         if(GPIO_InitStruct->GPIO_Alternate == GPIO_OutputAlt2)         {           /*Output ALternate 2*/           SCU->GPIOOUT[GPIO_Number] |= 0x2 << (Counter *2);         }         if(GPIO_InitStruct->GPIO_Alternate == GPIO_OutputAlt3)         {           /*Output ALternate 3*/           SCU->GPIOOUT[GPIO_Number] |= 0x3 << (Counter *2);         }        /*Type configuration: PushPull or Open Collector*/         SCU->GPIOTYPE[GPIO_Number] &= ~(0x1 << Counter) ;        if(GPIO_InitStruct->GPIO_Type == GPIO_Type_OpenCollector)        {          /*Open Drain configuration*/         SCU->GPIOTYPE[GPIO_Number] |= 0x1 << Counter;        }        /*IP Connected disable*/        SCU->GPIOIN[GPIO_Number] &= ~(0x1 << Counter) ;        if(GPIO_InitStruct->GPIO_IPConnected == GPIO_IPConnected_Enable)        {          /*IP Connected enable*/          SCU->GPIOIN[GPIO_Number] |= 0x1 << Counter;        }     }  } }

更多简介内容

推荐帖子

单片机中去耦电容的作用是什么
单片机中去耦电容在电路中的应用 首先来看图 1,这是 USB 接口和供电电路。 图 1 USB 接口和供电电路       左边这张图,过了保险丝以后,接了一个 470uF 的电容 C16,右边这张图,经过开关后,接了一个 100uF 的电容 C19,并且并联了一个 0.1uF 的电容 C10。其中 C16 和 C19 起到的作用是一样的,C10 的作用和他们两个不一样,
火辣西米秀 【微控制器 MCU】
使用片状铁氧体磁珠的注意事项
1. 片状铁氧体磁珠的直流重叠特性 片状铁氧体磁珠是一种使用铁氧体的电感器。因此,当大电流通过时,需要特别注意由于磁饱和所造成的性能改变。 图1是电流通过片状铁氧体磁珠时的阻抗值的变化示例。 图1 片状铁氧体磁珠的直流重叠特性示例 正因如此,当大电流通过片状铁氧体磁珠时,阻抗值会下降,所以如果在大电流通过的位置进行使用,可能无法达到预期的效果。在这种情况下,就需要考虑选
Aguilera 【模拟与混合信号】
Modbus多机通信程序设计
    给从机下发不同的指令,从机去执行不同的操作,这个就是判断一下功能码即可,和我们前边学的实用串口例程是类似的。多机通信,无非就是添加了一个设备地址判断而已,难度也不大。我们找了一个 Modbus 调试精灵,通过设置设备地址,读写寄存器的地址以及数值数量等参数,可以直接替代串口调试助手,比较方便的下发多个字节的数据,如图 18-7 所示。我们先来就图中的设置和数据来对 Modbus 做进一步的
Jacktang 【微控制器 MCU】
C语言函数返回局部变量的几个典型例子
一般的来说,函数是可以返回局部变量的。 局部变量的作用域只在函数内部,在函数返回后,局部变量的内存已经释放了。因此,如果函数返回的是局部变量的值,不涉及地址,程序不会出错。但是如果返回的是局部变量的地址(指针)的话,程序运行后会出错。因为函数只是把指针复制后返回了,但是指针指向的内容已经被释放了,这样指针指向的内容就是不可预料的内容,调用就会出错。准确的来说,函数不能通过返回指向栈内存的指针(注意
火辣西米秀 【微控制器 MCU】
超级电容能给汽车加速吗?
超级电容器的问世,使大家好奇它的“超级”之处,究竟哪里超级,在哪些领域能体现出它的“超级”。 超级电容器在很多应用领域都发挥着重大作用,无论是作为主动电源还是备用电源,已经是能量储存界不可缺少的一份子。下面我们举例超级电容器在汽车领域中的应用: 有一些汽车领域的朋友在了解超级电容器的“超级”之处后,开始关注超级电容器,想知道超级电容器能否用在汽车领域?答案是肯定的。还有些朋友问:超级电
BIGCAP 综合技术交流
小型双频段射频能量接收天线设计
      随着物联网技术的迅速发展和日益成熟,超低功耗的无线传感器已成为物联网的重要组成单元。无线传感器网络通过将大量的传感器节点部署在监测区域内,使用无线电通信方式形成一个多跳的具有动态拓扑结构的自组织网络系统,目前已得到了广泛应用。但是采用传统供电模式的传感器节点一旦电池耗尽需要重新更换电池,如果传感器节点大量分布,人工更换电池所需的工作将不容忽视。随着超低功耗芯片技术的越发成熟,收集周围环
Jacktang RF/无线

评论

登录/注册

意见反馈

求资源

回顶部

datasheet推荐 换一换

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版 版权声明

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 EEWORLD.com.cn, Inc. All rights reserved
$(function(){ var appid = $(".select li a").data("channel"); $(".select li a").click(function(){ var appid = $(this).data("channel"); $('.select dt').html($(this).html()); $('#channel').val(appid); }) })