【原】stm32复用问题+调试ARM遇到:No Cortex-M Device found问题的解决.pdf
上传人:yy****24 上传时间:2024-09-09 格式:PDF 页数:3 大小:342KB 金币:12 举报 版权申诉
预览加载中,请您耐心等待几秒...

【原】stm32复用问题+调试ARM遇到:No Cortex-M Device found问题的解决.pdf

【原】stm32复用问题+调试ARM遇到:NoCortex-MDevicefound问题的解决方法.pdf

预览

在线预览结束,喜欢就下载吧,查找使用更方便

12 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

【原】stm32复用问题+调试ARM遇到:NoCortex-MDevicefound问题的解决方法2012-04-2515:03:36|分类:stm32|字号大中小订阅小枣年糕今天上午一直在调试stm32F407的PWM输出,昨晚已经调通通用定时器TIM2,现打算调试据称高级的TIM1。查手册知道TIM1的Ch1与复用,Ch2与GPIOA_Pin7复用,于是复用代码如下:|GPIO_Pin_8GPIO_InitStructure.GPIO_Pin=GPIO_Pin_7;//指定第7引脚GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF;//模式必须为复用!GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;//频率为快速GPIO_InitStructure.GPIO_PuPd=GPIO_PuPd_UP;//上拉与否对PWM产生无影响GPIO_Init(GPIOA,&GPIO_InitStructure);GPIO_InitStructure.GPIO_Pin=GPIO_Pin_8;//指定第7引脚GPIO_Init(GPIOA,&GPIO_InitStructure);GPIO_PinAFConfig(GPIOA,GPIO_PinSource7|GPIO_PinSource8,GPIO_AF_TIM1);信心满满的将程序烧了进去,测试GPIOA_Pin7与GPIOA_Pin8均无PWM输出,等再次烧写程序时,却提示NoCortex-MDevicefound!以前好好的,现在居然烧不进去了,想到之前有个哥们儿在群里说他以前因为芯片烧掉了也出现了这样的问题,再想到刚才我拿着示波器探针来回点击引脚,我不禁冷汗连连,难道我的芯片因为短路烧掉了?!这可是老师刚花了近900元买了不到一周的板子呀!经过艰苦卓绝的检索,我发现在固件库范例中复用程序是这么写的GPIO_InitStructure.GPIO_Pin=GPIO_Pin_7|GPIO_Pin_8;这令我很困惑,GPIO_InitStructure.GPIO_Pin为结构体的一个成员,它可以取多个值么???于是我找到了引脚的宏定义如下:#defineGPIO_Pin_0((uint16_t)0x0001)/*Pin0selected*/#defineGPIO_Pin_1((uint16_t)0x0002)/*Pin1selected*/#defineGPIO_Pin_2((uint16_t)0x0004)/*Pin2selected*/#defineGPIO_Pin_3((uint16_t)0x0008)/*Pin3selected*/#defineGPIO_Pin_4((uint16_t)0x0010)/*Pin4selected*/#defineGPIO_Pin_5((uint16_t)0x0020)/*Pin5selected*/#defineGPIO_Pin_6((uint16_t)0x0040)/*Pin6selected*/#defineGPIO_Pin_7((uint16_t)0x0080)/*Pin7selected*/#defineGPIO_Pin_8((uint16_t)0x0100)/*Pin8selected*/#defineGPIO_Pin_9((uint16_t)0x0200)/*Pin9selected*/#defineGPIO_Pin_10((uint16_t)0x0400)/*Pin10selected*/#defineGPIO_Pin_11((uint16_t)0x0800)/*Pin11selected*/#defineGPIO_Pin_12((uint16_t)0x1000)/*Pin12selected*/#defineGPIO_Pin_13((uint16_t)0x2000)/*Pin13selected*/#defineGPIO_Pin_14((uint16_t)0x4000)/*Pin14selected*/#defineGPIO_Pin_15((uint16_t)0x8000)/*Pin15selected*/#defineGPIO_Pin_All((uint16_t)0xFFFF)/*Allpinsselected*/可以看出每个引脚各占一位,其他位为0,正好16位,则GPIO_InitStructure.GPIO_Pin=GPIO_Pin_7|GPIO_Pin_8;GPIO_Pin_7与GPIO_Pin_8按