OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2483|回复: 6

stm32 IAP 跳转实验 和 usb 读卡器实验

[复制链接]

7

主题

29

帖子

0

精华

初级会员

Rank: 2

积分
93
金钱
93
注册时间
2019-9-15
在线时间
23 小时
发表于 2020-1-10 15:44:49 | 显示全部楼层 |阅读模式
从bootloader工程 跳到usb工程可以,但从usb跳到bootloader 就跳不过去了,我是测试这两个互相跳,有同事说是把usb的中断没关完,可usb我就开启了这几个中断
请问还要关闭什么地方嘛,望解答!谢谢!

TIM_ITConfig(TIM4,TIM_IT_Update,DISABLE );//关闭定时器4中断

TIM_ClearITPendingBit(TIM4, TIM_IT_Update  );
USART_ITConfig(USART1, USART_IT_RXNE, DISABLE);//关闭uart1中断
USART_ClearITPendingBit(USART1,USART_IT_RXNE);
EXTI->IMR &= ~(EXTI_Line18); //屏蔽外部中断18
EXTI_ClearITPendingBit(EXTI_Line18);
NVIC_DisableIRQ(USB_LP_CAN1_RX0_IRQn);
NVIC_DisableIRQ(USBWakeUp_IRQn);
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

7

主题

29

帖子

0

精华

初级会员

Rank: 2

积分
93
金钱
93
注册时间
2019-9-15
在线时间
23 小时
 楼主| 发表于 2020-1-10 15:45:24 | 显示全部楼层
原子哥可以解答一下嘛
回复 支持 反对

使用道具 举报

31

主题

2183

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
14407
金钱
14407
注册时间
2018-8-3
在线时间
1156 小时
发表于 2020-1-10 17:22:50 | 显示全部楼层
论坛 有人分享过U盘 IAP 例程 参考下:http://www.openedv.com/forum.php?mod=viewthread&tid=304388
回复 支持 反对

使用道具 举报

7

主题

29

帖子

0

精华

初级会员

Rank: 2

积分
93
金钱
93
注册时间
2019-9-15
在线时间
23 小时
 楼主| 发表于 2020-1-14 09:44:54 | 显示全部楼层
翼行园子 发表于 2020-1-10 17:22
论坛 有人分享过U盘 IAP 例程 参考下:http://www.openedv.com/forum.php?mod=viewthread&tid=304388

好的,谢谢
回复 支持 反对

使用道具 举报

1

主题

5

帖子

0

精华

新手上路

积分
22
金钱
22
注册时间
2019-7-11
在线时间
4 小时
发表于 2020-1-14 12:03:42 | 显示全部楼层
void USB_OTG_BSP_DisableInterrupt(void)
{
        NVIC_InitTypeDef   NVIC_InitStructure;
        NVIC_InitStructure.NVIC_IRQChannel = OTG_FS_IRQn;
        NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x00;//抢占优先级0
        NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x03;//子优先级3
        NVIC_InitStructure.NVIC_IRQChannelCmd = DISABLE;//关闭通道
        NVIC_Init(&NVIC_InitStructure);//配置        
}
我是这样关的,看有没有用
回复 支持 反对

使用道具 举报

7

主题

29

帖子

0

精华

初级会员

Rank: 2

积分
93
金钱
93
注册时间
2019-9-15
在线时间
23 小时
 楼主| 发表于 2020-3-3 10:13:34 | 显示全部楼层
启科电子陈 发表于 2020-1-14 12:03
void USB_OTG_BSP_DisableInterrupt(void)
{
        NVIC_InitTypeDef   NVIC_InitStructure;

谢谢,已经解决了
回复 支持 反对

使用道具 举报

7

主题

29

帖子

0

精华

初级会员

Rank: 2

积分
93
金钱
93
注册时间
2019-9-15
在线时间
23 小时
 楼主| 发表于 2020-3-3 10:15:44 | 显示全部楼层
//解决方法
void Diseable_ALL_interrupt(void)
{
/**********重点是这4行代码****************************/
        usb_port_set(0);         //USB先断开
        delay_ms(500);
        RCC_USBCLKConfig(RCC_USBCLKSource_PLLCLK_1Div5);//USBclk=PLLclk/1.5=48Mhz        
        RCC_APB1PeriphClockCmd(RCC_APB1Periph_USB, DISABLE);         //USB时钟使能
/************************************************/
        USART_ITConfig(USART1, USART_IT_RXNE, DISABLE);//关闭uart1中断
        USART_ClearITPendingBit(USART1,USART_IT_RXNE);
        TIM_ITConfig(TIM4,TIM_IT_Update,DISABLE );//关闭定时器4中断
        EXTI->IMR &= ~(EXTI_Line18); //屏蔽外部中断18
        EXTI_ClearITPendingBit(EXTI_Line18);
        __disable_irq();
}
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-21 11:06

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表