答案已公布,今天获得NUCLEO的幸运者为:@Angel_YY(从当天正确回答的网友中选取) 大家在学习&使用STM32及相关产品时候,肯定会遇到不少问题。ST官方FAE为此特地开设了【实战经验】专栏,都是根据收集到的技术反馈,分享的技术干货,希望大家好好加以利用。今天的问题将围绕2017年下半年更新的【实战经验】展开(大家也可以如图找到入口,当然也可以选择收藏啦): 问题1:案例中USB传输数据时,为什么会出现卡顿现象?以及如何解决? 答:发送与接收处于不同优先等级导致资源冲突所致,可以将发送也放到与USB接收中断相同的中断等级中去。开启一个相同优先级的定时器来做发送数据也是可以,只不过定时器间隔得控制好。(https://www.stmcu.org.cn/module/forum/thread-613504-1-1.html) 问题2:案例中,常用的测量STM32L低功耗模式下的唤醒时间方法是什么? 答:通常结合外部模式(外部中断模式External Interrupt Mode或外部事件模式External Event Mode)和__SEV()指令翻转GPIO口来测量低功耗模式下的唤醒时间测量。(https://www.stmcu.org.cn/module/forum/thread-612528-1-1.html) 问题3:案例中提到,基于Gcc和Eclipse的集成开发环境有哪两种?并简要说明其优势 答:有SW4STM32和TrueSTUDIO。在用户友好程度,开发效率上已经接近需要授权费用的IAR/KEIL,而且免费易用,无代码大小限制,还可以跨平台使用。(https://www.stmcu.org.cn/module/forum/thread-613837-1-1.html) (本周的问题,大家回帖说明答案即可,尽量不要分多个楼层回复) |
发送与接收处于不同优先等级导致资源冲突所致:1> 在mian函数中发送数据CDC_Transmit_FS()
2> USBD_CDC_TransmitPacket()
3> USBD_LL_Transmit()
4> HAL_PCD_EP_Transmit()
5> __HAL_LOCK(hpcd); 此时成功获取互斥锁
6> 恰好此时有一个接收中断,由于USB中断具有优先级,跳转到接收中断内执行;同时,USB核会自动关闭OUT端点;
7> HAL_PCD_DataOutStageCallback()
8> USBD_CDC_DataOut()
9> CDC_Receive_FS()
10> USBD_CDC_ReceivePacket()
11> USBD_LL_PrepareReceive()
12> HAL_PCD_EP_Receive()
13> __HAL_LOCK(hpcd); 此时获取互斥锁失败导致返回,接收函数在OUT端点没有再次打开就已经提前结束,导致接收循环无以为继。
解决方法:将发送也放到与USB接收中断相同的中断等级中去,例如可以利用USB的EOPF中断,在开启EOPF中断后,在此中断内发送数据,这样发送与接收中断就处于相同等级了,EOPF每1ms触发一次,速度完全可以。当然开启一个相同优先级的定时器来做发送数据也是可以,只不过定时器间隔得控制好。
问题2:案例中,常用的测量STM32L低功耗模式下的唤醒时间方法是什么?
唤醒时间的测量,可以读取时间段= [唤醒引脚上波形的上升沿用于唤醒低功耗模式,引脚边沿的变化即可理解为唤醒后开始执行第一条语句的时间],也就是两个跳动边沿的时间间隔。
方法:结合外部模式(外部中断模式External Interrupt Mode或外部事件模式External Event Mode)和__SEV()指令翻转GPIO口来测量低功耗模式下的唤醒时间测量
问题3:案例中提到,基于Gcc和Eclipse的集成开发环境有哪两种?并简要说明其优势
SW4STM32和TrueSTUDIO两种开发环境。
SW4STM32开发环境优势:SW4STM32是AC6公司推出的基于Eclipse图形界面的完整集成开发环境。SW4STM32使用基于Gcc的完整编译调试工具链, 完全免费且没有大小限制。你可以利用它图形化的界面来配置源代码的路径以及Gcc编译选项,快速方便在源代码中跳转浏览,编写代码时进行自动补全以及查看参数等。SW4STM32支持导入STM32CubeMX生成的工程文件,无须改动,直接编译通过。SW4STM32通过OpenOCD内建对ST-Link的支持,可以使用图形化界面单步调试源代码。
TrueSTUDIO开发环境优势:TrueSTUDIO提供两个版本,TrueSTUDIO Lite完全免费,没有大小限制;TrueSTUDIO Pro需要授权,但是你可以获得更多高级功能,包括代码分析和调试。无论是在免费没有大小限制的版本中或者是需要授权的版本中,你可以使用它图形化的界面来配置源代码的路径以及Gcc编译选项, 利用Eclipse图形化的界面快速方便在源代码中跳转浏览,编写代码时进行自动补全以及查看参数。TrueSTUDIO内建对ST-Link的支持,可以使用图形化界面单步调试源代码
2、PWR_STANDBY 和PWR_STOP这项目工程,通过这两个低功耗模式做一个说明测量唤醒时间的方法。
通过上述的两个示例可以看出,通常结合外部模式(外部中断模式External Interrupt Mode或外部事件模式External Event Mode)和__SEV()指令翻转GPIO口来测量低功耗模式下的唤醒时间测量。
由于外部事件模式不需要额外处理中断时间的特点,所以利用它,我们能够得到更精确的唤醒时间的测量,更适合用于唤醒后执行下一条命令的低功耗模式。
3、基于Gcc和Eclipse的集成开发环境SW4STM32和TrueSTUDIO,
SW4STM32是AC6公司推出的基于Eclipse图形界面的完整集成开发环境。SW4STM32使用基于Gcc的完整编译调试工具链, 完全免费且没有大小限制。你可以利用它图形化的界面来配置源代码的路径以及Gcc编译选项,快速方便在源代码中跳转浏览,编写代码时进行自动补全以及查看参数等。SW4STM32支持导入STM32CubeMX生成的工程文件,无须改动,直接编译通过。SW4STM32通过OpenOCD内建对ST-Link的支持,可以使用图形化界面单步调试源代码。
TrueSTUDIO是Atollic公司推出的基于Eclipse图形界面的完整集成开发环境。如同SW4STM32, 它使用基于Gcc的完整编译调试工具链。TrueSTUDIO提供两个版本,TrueSTUDIO Lite完全免费,没有大小限制;TrueSTUDIO Pro需要授权,但是你可以获得更多高级功能,包括代码分析和调试。无论是在免费没有大小限制的版本中或者是需要授权的版本中,你可以使用它图形化的界面来配置源代码的路径以及Gcc编译选项, 利用Eclipse图形化的界面快速方便在源代码中跳转浏览,编写代码时进行自动补全以及查看参数。SW4STM32支持导入STM32CubeMX生成的工程文件,无须改动,直接编译通过。TrueSTUDIO内建对ST-Link的支持,可以使用图形化界面单步调试源代码。
基于Gcc和Eclipse的集成开发环境SW4STM32和TrueSTUDIO,在用户友好程度,开发效率上已经接近需要授权费用的IAR/KEIL。对于需要使用Gcc开发STM32的专业开发人员,学习研究STM32的个人/学生用户,完全可以考虑使用SW4STM32和TrueSTUDIO。
在接收到USB数据包的个数后(PKTCNT),USB核将内部自动将这个OUT端点的NAK为置1,以阻止接收更多数据包;互斥锁所致
解决方案
知道了问题原因所在,接下来解决问题就相对来说比较容易的了。由于此问题是发送与接收处于不同优先等级导致资源冲突所致,那么我们可以将发送也放到与USB接收中断相同的中断等级中去,例如可以利用USB的EOPF中断,在开启EOPF中断后,在此中断内发送数据,这样发送与接收中断就处于相同等级了,EOPF每1ms触发一次,速度完全可以。当然开启一个相同优先级的定时器来做发送数据也是可以,只不过定时器间隔得控制好。
此外,其实此问题是出现在Cube库的低版本中,例如CubeF4 V1.5.0和CubeF2 V1.3.0中都存在,但是在最新本的CubeF4 V1.16.0,CubeF2 V1.6.0版本中此问题得到了解决;
问题2:案例中,常用的测量STM32L低功耗模式下的唤醒时间方法是什么?
通常结合外部模式(外部中断模式 External Interrupt Mode 或外部事件模式 External EventMode)和__SEV()指令翻转 GPIO 口来测量低功耗模式下的唤醒时间测量。由于外部事件模式不需要额外处理中断时间的特点,所以利用它,我们能够得到更精确的唤醒时间的测量,更适合用于唤醒后执行下一条命令的低功耗模式。
问题3:案例中提到,基于Gcc和Eclipse的集成开发环境有哪两种?并简要说明其优势
境 SW4STM32 和TrueSTUDIO,
SW4STM32 是 AC6 公司推出的基于 Eclipse 图形界面的完整集成开发环境。SW4STM32 使用基于Gcc 的完整编译调试工具链, 完全免费且没有大小限制。你可以利用它图形化的界面来配置源代码的路径以及 Gcc 编译选项,快速方便在源代码中跳转浏览,编写代码时进行自动补全以及查看参数等。SW4STM32 支持导入 STM32CubeMX 生成的工程文件,无须改动,直接编译通过。SW4STM32 通过OpenOCD 内建对 ST-Link 的支持,可以使用图形化界面单步调试源代码。
TrueSTUDIO 是 Atollic 公司推出的基于 Eclipse 图形界面的完整集成开发环境。如同 SW4STM32, 它使用基于 Gcc 的完整编译调试工具链。TrueSTUDIO 提供两个版本,TrueSTUDIO Lite 完全免费,没有大小限制;TrueSTUDIO Pro 需要授权,但是你可以获得更多高级功能,包括代码分析和调试。无论是在免费没有大小限制的版本中或者是需要授权的版本中,你可以使用它图形化的界面来配置源代码的路径以及 Gcc 编译选项, 利用 Eclipse 图形化的界面快速方便在源代码中跳转浏览,编写代码时进行自动补全以及查看参数。SW4STM32 支持导入 STM32CubeMX 生成的工程文件,无须改动,直接编译通过。TrueSTUDIO 内建对 ST-Link 的支持,可以使用图形化界面单步调试源代码。
发送与接收处于不同优先等级导致资源冲突所致,可以将发送也放到与USB接收中断相同的中断等级中去。开启一个相同优先级的定时器来做发送数据也是可以,只不过定时器间隔得控制好。
问题2:案例中,常用的测量STM32L低功耗模式下的唤醒时间方法是什么?
通常结合外部模式(外部中断模式External Interrupt Mode或外部事件模式External Event Mode)和__SEV()指令翻转GPIO口来测量低功耗模式下的唤醒时间测量。
问题3:案例中提到,基于Gcc和Eclipse的集成开发环境有哪两种?并简要说明其优势
基于Gcc和Eclipse的集成开发环境SW4STM32和TrueSTUDIO,在用户友好程度,开发效率上已经接近需要授权费用的IAR/KEIL
2.结合外部模式(外部中断模式External Interrupt Mode或外部事件模式External Event Mode)和__SEV()指令翻转GPIO口来测量低功耗模式下的唤醒时间测量。然后直接测量触发的与输出的时间段。
3.SW4STM32和TrueSTUDIO 其优势就是免费。界面接近IAR与keil,同时支持STM32CUBU生成工程。
全局变量Lock_Flag值进行判断时,程序锁死在while(1)中,即互锁所致。
将发送也放到与USB接收中断相同的中断等级中去,例如可以利用USB的EOPF中断,在开启EOPF中断后,在此中断内发送数据,这样发送与接收中断就处于相同等级了,EOPF每1ms触发一次,速度完全可以。当然开启一个相同优先级的定时器来做发送数据也是可以,只不过定时器间隔得控制好。
2
通常结合外部模式(外部中断模式External Interrupt Mode或外部事件模式External Event Mode)和__SEV()指令翻转GPIO口来测量低功耗模式下的唤醒时间测量。
由于外部事件模式不需要额外处理中断时间的特点,所以利用它,我们能够得到更精确的唤醒时间的测量,更适合用于唤醒后执行下一条命令的低功耗模式
3
SW4STM32
可以利用它图形化的界面来配置源代码的路径以及Gcc编译选项,快速方便在源代码中跳转浏览,编写代码时进行自动补全以及查看参数等。
SW4STM32支持导入STM32CubeMX生成的工程文件,无须改动,直接编译通过。
通过OpenOCD内建对ST-Link的支持,可以使用图形化界面单步调试源代码。
TrueSTUDIO
TrueSTUDIO Lite完全免费,没有大小限制
可以使用它图形化的界面来配置源代码的路径以及Gcc编译选项, 利用Eclipse图形化的界面快速方便在源代码中跳转浏览,编写代码时进行自动补全以及查看参数。
内建对ST-Link的支持,可以使用图形化界面单步调试源代码。
2、通常结合外部模式(外部中断模式External Interrupt Mode或外部事件模式External Event Mode)和__SEV()指令翻转GPIO口来测量低功耗模式下的唤醒时间测量。
3、SW4STM32和TrueSTUDIO 在用户友好程度,开发效率上已经接近需要授权费用的IAR/KEIL,而且具有跨平台的优势。
卡顿现象是发送与接收处于不同优先等级导致资源冲突所致。可以通过将发送也放到与USB接收中断相同的中断等级中,利用USB的EOPF中断,在开启EOPF中断后,在此中断内发送数据,这样发送与接收中断就处于相同等级。另外,此问题是出现在Cube库的低版本中,当升级到最新版本后也可以解决。
问题2:案例中,常用的测量STM32L低功耗模式下的唤醒时间方法是什么?
通常结合外部模式(外部中断模式External Interrupt Mode或外部事件模式External Event Mode)和__SEV()指令翻转GPIO口来测量低功耗模式下的唤醒时间测量。
问题3:案例中提到,基于Gcc和Eclipse的集成开发环境有哪两种?并简要说明其优势
基于Gcc和Eclipse的集成开发环境有SW4STM32和TrueSTUDIO。
SW4STM322使用基于Gcc的完整编译调试工具链, 完全免费且没有大小限制。你可以利用它图形化的界面来配置源代码的路径以及Gcc编译选项,快速方便在源代码中跳转浏览,编写代码时进行自动补全以及查看参数等。SW4STM32支持导入STM32CubeMX生成的工程文件,无须改动,直接编译通过。SW4STM32通过OpenOCD内建对ST-Link的支持,可以使用图形化界面单步调试源代码。
TrueSTUDIO是Atollic公司推出的基于Eclipse图形界面的完整集成开发环境。如同SW4STM32, 它使用基于Gcc的完整编译调试工具链。TrueSTUDIO提供两个版本,TrueSTUDIO Lite完全免费,没有大小限制;TrueSTUDIO Pro需要授权,但是你可以获得更多高级功能,包括代码分析和调试。无论是在免费没有大小限制的版本中或者是需要授权的版本中,你可以使用它图形化的界面来配置源代码的路径以及Gcc编译选项, 利用Eclipse图形化的界面快速方便在源代码中跳转浏览,编写代码时进行自动补全以及查看参数。SW4STM32支持导入STM32CubeMX生成的工程文件,无须改动,直接编译通过。TrueSTUDIO内建对ST-Link的支持,可以使用图形化界面单步调试源代码。
2 通常结合外部模式(外部中断模式External Interrupt Mode或外部事件模式External Event Mode)和__SEV()指令翻转GPIO口来测量低功耗模式下的唤醒时间测量。
3
基于Gcc和Eclipse的集成开发环境有SW4STM32和TrueSTUDIO。
SW4STM32使用基于Gcc的完整编译调试工具链, 完全免费且没有大小限制。你可以利用它图形化的界面来配置源代码的路径以及Gcc编译选项,快速方便在源代码中跳转浏览,编写代码时进行自动补全以及查看参数等。SW4STM32支持导入STM32CubeMX生成的工程文件,无须改动,直接编译通过。SW4STM32通过OpenOCD内建对ST-Link的支持,可以使用图形化界面单步调试源代码。
TrueSTUDIO是Atollic公司推出的基于Eclipse图形界面的完整集成开发环境。如同SW4STM32, 它使用基于Gcc的完整编译调试工具链。TrueSTUDIO提供两个版本,TrueSTUDIO Lite完全免费,没有大小限制;TrueSTUDIO Pro需要授权,但是你可以获得更多高级功能,包括代码分析和调试。无论是在免费没有大小限制的版本中或者是需要授权的版本中,你可以使用它图形化的界面来配置源代码的路径以及Gcc编译选项, 利用Eclipse图形化的界面快速方便在源代码中跳转浏览,编写代码时进行自动补全以及查看参数。SW4STM32支持导入STM32CubeMX生成的工程文件,无须改动,直接编译通过。TrueSTUDIO内建对ST-Link的支持,可以使用图形化界面单步调试源代码
解决方案:可以将发送放到与USB接收中断相同的中断等级中去,例如可以利用USB的EOPF中断,在开启EOPF中断后,在此中断内发送数据,这样发送与接收中断就处于相同等级了,EOPF每1ms触发一次,速度完全可以。当然开启一个相同优先级的定时器来做发送数据也是可以,只不过定时器间隔得控制好。另外,此问题是出现在Cube库的低版本中,当升级到最新版本后也可以解决。
2、通常结合外部模式(外部中断模式External Interrupt Mode或外部事件模式External Event Mode)和__SEV()指令翻转GPIO口来测量低功耗模式下的唤醒时间测量。
3、基于Gcc和Eclipse的集成开发环境有SW4STM32和TrueSTUDIO。
SW4STM322使用基于Gcc的完整编译调试工具链, 完全免费且没有大小限制。你可以利用它图形化的界面来配置源代码的路径以及Gcc编译选项,快速方便在源代码中跳转浏览,编写代码时进行自动补全以及查看参数等。SW4STM32支持导入STM32CubeMX生成的工程文件,无须改动,直接编译通过。SW4STM32通过OpenOCD内建对ST-Link的支持,可以使用图形化界面单步调试源代码。
TrueSTUDIO是Atollic公司推出的基于Eclipse图形界面的完整集成开发环境。如同SW4STM32, 它使用基于Gcc的完整编译调试工具链。TrueSTUDIO提供两个版本,TrueSTUDIO Lite完全免费,没有大小限制;TrueSTUDIO Pro需要授权,但是你可以获得更多高级功能,包括代码分析和调试。无论是在免费没有大小限制的版本中或者是需要授权的版本中,你可以使用它图形化的界面来配置源代码的路径以及Gcc编译选项, 利用Eclipse图形化的界面快速方便在源代码中跳转浏览,编写代码时进行自动补全以及查看参数。SW4STM32支持导入STM32CubeMX生成的工程文件,无须改动,直接编译通过。TrueSTUDIO内建对ST-Link的支持,可以使用图形化界面单步调试源代码。
卡顿现象是发送与接收处于不同优先等级导致资源冲突所致。可以通过将发送也放到与USB接收中断相同的中断等级中,利用USB的EOPF中断,在开启EOPF中断后,在此中断内发送数据,这样发送与接收中断就处于相同等级。另外,此问题是出现在Cube库的低版本中,当升级到最新版本后也可以解决。
问题2:案例中,常用的测量STM32L低功耗模式下的唤醒时间方法是什么?
通常结合外部模式(外部中断模式 External Interrupt Mode 或外部事件模式 External EventMode)和__SEV()指令翻转 GPIO 口来测量低功耗模式下的唤醒时间测量。由于外部事件模式不需要额外处理中断时间的特点,所以利用它,我们能够得到更精确的唤醒时间的测量,更适合用于唤醒后执行下一条命令的低功耗模式。
问题3:案例中提到,基于Gcc和Eclipse的集成开发环境有哪两种?并简要说明其优势
基于Gcc和Eclipse的集成开发环境有SW4STM32和TrueSTUDIO。
SW4STM32使用基于Gcc的完整编译调试工具链, 完全免费且没有大小限制。你可以利用它图形化的界面来配置源代码的路径以及Gcc编译选项,快速方便在源代码中跳转浏览,编写代码时进行自动补全以及查看参数等。SW4STM32支持导入STM32CubeMX生成的工程文件,无须改动,直接编译通过。SW4STM32通过OpenOCD内建对ST-Link的支持,可以使用图形化界面单步调试源代码。
TrueSTUDIO是Atollic公司推出的基于Eclipse图形界面的完整集成开发环境。如同SW4STM32, 它使用基于Gcc的完整编译调试工具链。TrueSTUDIO提供两个版本,TrueSTUDIO Lite完全免费,没有大小限制;TrueSTUDIO Pro需要授权,但是你可以获得更多高级功能,包括代码分析和调试。无论是在免费没有大小限制的版本中或者是需要授权的版本中,你可以使用它图形化的界面来配置源代码的路径以及Gcc编译选项, 利用Eclipse图形化的界面快速方便在源代码中跳转浏览,编写代码时进行自动补全以及查看参数。SW4STM32支持导入STM32CubeMX生成的工程文件,无须改动,直接编译通过。TrueSTUDIO内建对ST-Link的支持,可以使用图形化界面单步调试源代码。
实战经验案例中的关键词:“如果只是单向通信,就一直都是正常的。 ”
根据这一特点可初步判断就是收发通道竞争造成,再根据原文中的检查步骤俄到以下的结果:
“由于此问题是发送与接收处于不同优先等级导致资源冲突所致,那么我们可以将发送也放到与USB接收中断相同的中断等级中去,例如可以利用USB的EOPF中断,在开启EOPF中断后,在此中断内发送数据,这样发送与接收中断就处于相同等级了,EOPF每1ms触发一次,速度完全可以。当然开启一个相同优先级的定时器来做发送数据也是可以,只不过定时器间隔得控制好。”
实此问题是出现在Cube库的低版本中,最新本的CubeF4 V1.16.0,CubeF2 V1.6.0版本中此问题得到了解决;
解决方法可以对比两个版本的相关源代码
问题2:案例中,常用的测量STM32L低功耗模式下的唤醒时间方法是什么?
使用探索板,找到对应工程项目的目录(“ STM32Lxxxxxx-Discovery\Examples\PWR ”),
目录下的PWR_STANDBY 和PWR_STOP这项目工程,通过这两个低功耗模式做一个说明测量唤醒时间的方法。
通过实战经验的两个示例可以看出,通常结合外部模式(外部中断模式External Interrupt Mode或外部事件模式External Event Mode)和__SEV()指令翻转GPIO口来测量低功耗模式下的唤醒时间测量。
由于外部事件模式不需要额外处理中断时间的特点,所以利用它,我们能够得到更精确的唤醒时间的测量,更适合用于唤醒后执行下一条命令的低功耗模式。
问题3:案例中提到,基于Gcc和Eclipse的集成开发环境有哪两种?并简要说明其优势
集成开发环境有SW4STM32和TrueSTUDIO
SW4STM32 是AC6公司的,相关Eclipxe插件和开发工下载工具地址:
http://www.openstm32.org
SW4STM32通过OpenOCD内建对ST-Link的支持,可以使用图形化界面单步调试源代码。
安装后,可插件升级实现开发工具库的升级,插件的下载地址:
http://www.ac6-tools.com/Eclipse ... nch.update-site-v2/
SW4STM32 只支持ST各系列的MCU和、官方、自定义开发板,支持链接调试工具(“如:ST-LINK等内容)需要通过OpenOCD的配置文件进行配置(默认可用ST-LINK)作为链接工具。
TrueStudio是 Atollic公司,rueSTUDIO Lite完全免费,没有大小限制;TrueSTUDIO Pro需要授权,但是你可以获得更多高级功能,包括代码分析和调试。
相关下载:http://atollic.com/resources/download/
最新集成版本8.1
二者均可采用OpenOCD实现对 ST-LINK等下载调试工具的支持,
TrueStudio除了支持ST产品外,还支持其他厂家的MCU,如NXP等,还支持J-LINK、PEMicro等调试工具。
2-----------------通常结合外部模式(外部中断模式External Interrupt Mode或外部事件模式External Event Mode)和__SEV()指令翻转GPIO口来测量低功耗模式下的唤醒时间测量。
3-----------------集成开发环境有SW4STM32和TrueSTUDIO。
SW4STM32使用基于Gcc的完整编译调试工具链, 完全免费且没有大小限制。你可以利用它图形化的界面来配置源代码的路径以及Gcc编译选项,快速方便在源代码中跳转浏览,编写代码时进行自动补全以及查看参数等。SW4STM32支持导入STM32CubeMX生成的工程文件,无须改动,直接编译通过。SW4STM32通过OpenOCD内建对ST-Link的支持,可以使用图形化界面单步调试源代码。
TrueSTUDIO是Atollic公司推出的基于Eclipse图形界面的完整集成开发环境。如同SW4STM32, 它使用基于Gcc的完整编译调试工具链。TrueSTUDIO提供两个版本,TrueSTUDIO Lite完全免费,没有大小限制;TrueSTUDIO Pro需要授权,但是你可以获得更多高级功能,包括代码分析和调试。无论是在免费没有大小限制的版本中或者是需要授权的版本中,你可以使用它图形化的界面来配置源代码的路径以及Gcc编译选项, 利用Eclipse图形化的界面快速方便在源代码中跳转浏览,编写代码时进行自动补全以及查看参数。SW4STM32支持导入STM32CubeMX生成的工程文件,无须改动,直接编译通过。TrueSTUDIO内建对ST-Link的支持,可以使用图形化界面单步调试源代码
补充内容 (2017-12-19 11:10):
醒的方法我们选择WKUP唤醒引脚的上升沿;进入低功耗的方法有WFI(wait for interrupt)和WFE(wait for event)。直接打开运行“…STM32Cube_FW_L0_V1.9.0\Projects\STM32L053C8-Discovery\Examples\PWR” 目录下的PWR_STANDBY项目工程,并且阅读工程目录下的Readme.txt,了解该项目代码是如何进入低功耗模式,以及进入低功耗的寄存器及时钟方面的配置。详细可见https://www.stmcu.org.cn/module/ ... E%E5%8A%9F%E8%80%97。。。。。。通常结合外部模式(外部中断模式External Interrupt Mode或外部事件模式External Event Mode)和__SEV()指令翻转GPIO口来测量低功耗模式下的唤醒时间测量。
由于外部事件模式不需要额外处理中断时间的特点,所以利用它,我们能够得到更精确的唤醒时间的测量,更适合用于唤醒后执行下一条命令的低功耗模式。
补充内容 (2017-12-19 11:11):
上面的补充是第2个问题的,唤醒的方法。。。。