环境:
主机:WIN7
开发环境:MDK4.72
MCU:STM32F407VGT6
说明:
目标板上有一个LED,有一个按键,按键实现LED状态翻转.
LED:PE2,低电平亮,高电平灯灭
按键:PC13,低电平按下,高电平松开
源代码:
main.c
/*********************************************************************
* 主文件
* (c)copyright 2014,jdh
* All Right Reserved
*新建日期:2014/3/25 by jdh
**********************************************************************/
/*********************************************************************
* 头文件
**********************************************************************/
#include "main.h"
#include "stm32f4xx_rcc.h"
#include "stm32f4xx_gpio.h"
/*********************************************************************
* 全局变量
**********************************************************************/
static __IO uint32_t TimingDelay;
/*********************************************************************
* 函数定义
**********************************************************************/
void Delay(__IO uint32_t nTime);
/*********************************************************************
* 函数
**********************************************************************/
int main(void)
{
//定义IO初始化结构体
GPIO_InitTypeDef GPIO_InitStructure;
//系统时钟:1ms滴答1次
if (SysTick_Config(SystemCoreClock / 1000))
{
while (1);
}
//设置LED的IO口
//初始化时钟
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOE, ENABLE);
//管脚模式:输出口
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
//类型:推挽模式
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
//上拉下拉设置:不使能
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
//IO口速度
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
//管脚指定
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;
//初始化
GPIO_Init(GPIOE, &GPIO_InitStructure);
//设置按键的IO口
//初始化时钟
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOC, ENABLE);
//管脚模式:输出口
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;
//类型:推挽模式
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
//上拉下拉设置:不使能
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
//IO口速度
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;
//管脚指定
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;
//初始化
GPIO_Init(GPIOC, &GPIO_InitStructure);
while (1)
{
//GPIO_SetBits(GPIOE,GPIO_Pin_2);
//Delay(500);
//GPIO_ResetBits(GPIOE,GPIO_Pin_2);
//Delay(500);
//按键检测
if (GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_13) == 0)
{
GPIO_ToggleBits(GPIOE,GPIO_Pin_2);
Delay(500);
}
}
}
/**
* @brief Inserts a delay time.
* @param nTime: specifies the delay time length, in milliseconds.
* @retval None
*/
void Delay(__IO uint32_t nTime)
{
TimingDelay = nTime;
while(TimingDelay != 0);
}
/**
* @brief Decrements the TimingDelay variable.
* @param None
* @retval None
*/
void TimingDelay_Decrement(void)
{
if (TimingDelay != 0x00)
{
TimingDelay--;
}
}
#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: file %s on line %drn", file, line) */
/* Infinite loop */
while (1)
{
}
}
#endif
/**
* @}
*/
/**
* @}
*/
/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/
上一篇:STM32F103停机模式测试
下一篇:STM32单片机用FSMC接口控制SRAM
推荐阅读
史海拾趣
CIRCUITCO公司自创立之初,就致力于电子电路技术的研发。在某一时期,公司投入大量资源研发新型高性能电路板。经过数年的努力,团队终于成功开发出一款具有更高集成度、更低能耗的电路板。这一突破不仅提升了公司的技术实力,也使其在市场上获得了显著的竞争优势。随着这款新产品的推出,CIRCUITCO公司的业绩迅速攀升,成为行业内的佼佼者。
面对不断变化的市场环境和客户需求,电子智链始终保持创新和进取的精神。公司不断投入研发资源,推出新的ERP产品和解决方案,以满足客户日益增长的需求。同时,电子智链也积极应对来自国内外竞争对手的挑战,通过不断提高产品质量和服务水平来巩固自身的市场地位。在未来的发展中,电子智链将继续秉持“客户至上、创新驱动”的理念,致力于为电子企业提供更加先进、高效和可靠的ERP解决方案。
进入21世纪20年代,电子智链紧跟智能化浪潮,将人工智能(AI)技术引入ERP系统。公司推出了“智链AI”解决方案,通过机器学习算法自动优化生产流程、预测市场需求和降低库存成本。这一创新使得电子智链在竞争激烈的ERP市场中脱颖而出,成为了电子行业数字化转型的领军企业。
APM深知在电子行业中,单打独斗很难取得长远的发展。因此,公司开始积极寻求与上下游企业的合作,共同构建完整的产业链。通过与原材料供应商、代工厂商以及终端客户的紧密合作,APM实现了产业链的整合与协同发展。这不仅降低了公司的运营成本,还提高了产品的质量和生产效率,为公司的持续发展奠定了坚实基础。
为了进一步提升市场份额和品牌影响力,APM开始积极拓展国内外市场。公司不仅加强了与现有客户的合作关系,还积极参加各类行业展会和技术交流会,与潜在客户建立联系。同时,APM还加大了对品牌建设的投入,通过广告宣传、媒体报道等方式提升品牌知名度和美誉度。这些举措使得APM在电子行业中的影响力逐渐增强。
随着通讯技术的快速发展,射频微波电缆的需求日益增长。Harbour Industries凭借其深厚的电缆制造经验和先进的技术实力,成功研发出了一系列高性能的射频微波电缆。这些电缆在微波射频领域展现出了优异的性能,广泛应用于通讯网络、广播电视、卫星通信等领域。Harbour的射频微波电缆不仅在国内市场占有一席之地,还远销海外多个国家和地区,进一步提升了公司的国际影响力。
绿茶的帖子,转个链接,希望有用。 //*-----------------------------------------------------*/ STM32资料集锦(不断补充中...) https://bbs.eeworld.com.cn/thread-75235-1-1.html //*---------------------------------------------------- ...… 查看全部问答∨ |
|
Mini2440如何与j-link v6连接? 我的连接是j-link mini2440 1 —————— 1   ...… 查看全部问答∨ |
|
avr中的twi协议有误么?? 在主机接收模式的状态码里:的0x40 .。 No TWDR action or No TWDR action 我认为应该是 Read data byte or Read data byte。。 这个时候是来了一个ack信号,但是紧接着来了个8个字节的数据在twdr中 ...… 查看全部问答∨ |
Windows CE.NET的应用为MyApp.exe 1.将MyApp.exe复制到E:\\PROJECTS\\MyWinCE\\RelDir\\CEPC_X86Release目录下; 2.创建快捷方式文件MyApp.lnk(文本文件),文件内容如下: 10#\\Windows\\MyApp.exe MyApp.lnk文件也放入E:\\PROJECTS\\MyWinC ...… 查看全部问答∨ |
设计资源 培训 开发板 精华推荐
- 安世半导体新能源应用探索站,闯关赢好礼!
- 有奖技术直播:Keysight量子计算测量方案线上研讨会
- TE Connectivity利用传感和连接解决方案,赋能电动汽车发展 参与有好礼!
- 【EE团拍卖】RealARM6410 零元风暴来袭,你能HOLD住吗?
- 有奖直播:人机互动介面和机器视觉应用上的最佳助手--瑞萨电子 RZ/G, RZ/A 和 RZ/V SoC系列
- 泰克 4200A-SCS 带您走进半导体材料测试世界 下载赢好礼!
- 解锁 TE 掌上信息智库,获取一站式资源!
- 高性能手机设计如何实现?手机高校评估研讨会为您揭晓答案!
- STM32H7R/S 高性能MCU 开启全新的创新机遇!答题好礼~还有开发板等你拿!
- 低电平大本营 这些热门研究正在发生 速度解密!