-
STM32库中没有例程。
下面是我写的进入Sleep模式的代码,你把它添加到软件库中stm32f10x_pwr.c中
/*******************************************************************************
* Function Name : PWR_EnterSLEEPMode
* Description : Enters SLEEP mode.
* Input : - SysCtrl_Set: Select the Sleep mode entry mechanism,.
* This parameter can be one of the following values:
* - 0: MCU enters Sleep mode as soon as WFI or WFE instruction is executed.
* - 1: MCU enters Sleep mode as soon as it exits the lowest priority ISR.
*
* - PWR_STOPEntry: specifies if SLEEP mode in entered with WFI or WFE instruction.
* This parameter can be one of the following values:
* - PWR_SLEEPEntry_WFI: enter STOP mode with WFI instruction
* - PWR_SLEEPEntry_WFE: enter STOP mode with WFE instruction
* Output : None
* Return : None
*******************************************************************************/
void PWR_EnterSLEEPMode(u32 SysCtrl_Set, u8 PWR_SLEEPEntry)
{
if (SysCtrl_Set)
*(vu32 *) SCB_SysCtrl |= SysCtrl_SLEEPONEXIT_Set; // Set SLEEPONEXIT
else
*(vu32 *) SCB_SysCtrl &= ~SysCtrl_SLEEPONEXIT_Set;// Reset SLEEPONEXIT
*(vu32 *) SCB_SysCtrl &= ~SysCtrl_SLEEPDEEP_Set; // Clear SLEEPDEEP bit
if(PWR_SLEEPEntry == PWR_SLEEPEntry_WFI) // Select SLEEP mode entry
__WFI(); // Request Wait For Interrupt
else
__WFE(); // Request Wait For Event
}
同时将下面的代码添加到stm32f10x_pwr.h中:
/* SLEEP mode entry */
#define PWR_SLEEPEntry_WFI ((u8)0x01)
#define PWR_SLEEPEntry_WFE ((u8)0x02)
-
好帖,顶起!!!!
-
哈哈哈啊哈哈
-
官方库文件在IAR编译系统下应该如何使用?
直接引用库文件时由于stm8s.h的这段代码
/* Check the used compiler */
#if defined(__CSMC__)
#undef _RAISONANCE_
#define _COSMIC_
#elif defined(__RCST7__)
#unde ...
这是因为STM8S的官方库文件发布时,IAR EWSTM8还没有出来,也不被支持。随便改改就行了:
* Check the used compiler */
#if defined(__CSMC__)
#undef _RAISONANCE_
#define _COSMIC_
#elif defined(__RCST7__)
#undef _COSMIC_
#define _RAISONANCE_
#else
#undef _RAISONANCE_
#undef _COSMIC_
#define _IAR_
#endif
-
把你要启动的程序放到BSP安装的目录的一个文件夹当中,在bib文件当中把file字段下,按规范把它作为NK的一部分。然后,BSP中修改reg文件。如果你要直接启动你的程序那么你就把它放在 explorer 加载顺序的前面。
-
回楼上
每个新工程一编译肯定是要吃掉几百M甚至一两G的空间
但是我每次编译前都把前面的删了啊,不应该再增加硬盘空间啊
-
普通板子不用吧 一般都是高频板或者对环境要求比较高的
-
in_data%10就是取余
(u8)是强制转换,不加它编绎器会报警告.
-
有些路由器使用默认密码,这样可能性大一些。
-
引用 10 楼 jiqiang01234 的回复:
注意:while(i--)中退出的条件是什么?是i--为0,这和--i可不同。也就是说,此时先用i来计算,计算过后i再减1,那么当while(i--)退出后,i就变成了-1,也就是0xffff。当外层的循环再来的时候,这回while(i--)再重新减到0可就需要很长时间了。
这位朋友的说法很正确哦,谢谢啦
终于搞懂这个问题了。
-
PIC32据说是MIPS的核,不过我都不懂
-
好像只能观察全局变量吧,子函数里的变量,不能观察
-
我正在搞硬解码,一样的头大,比你还迷茫呢……
-
呵呵,发给我啊,orange.ssssss@163.com
-
我说的不是芯片是不是工业级或商业级。我说的是用他组成的以太网类型能否划入工业以太网
-
由于你是使用SJF而不是己编写的烧录代码,查硬件不是很方便,如果用我上边所说的方法仍然无效,建议你自己写一段ADS下的烧录代码,整个过程也好追踪。
-
2005可以,楼主可以在找找EVC的安装软件,出现10位序列号 应该是安装软件的事
-
引用 6 楼 never_ql 的回复:
1,我用的8MHz晶振,用多少波特率才能把误差降到最小?我现在使用的是9600.
2,因为传送的数据帧是两个long类型,所以没有多余的位空出来做为奇偶校验位。本来单片机串口功能就有奇偶校验的功能,但是没办法空出一个奇偶校验的位,所以没办法用。看来需要自己多传个字节做校验。
8M晶振是不行的,不管用哪种方式 误差在8.51% 误差太大了 要换晶振
你从网上找个工具 波特率初值计算工具 特别好用,呵呵 我平时都用它
可以设定奇偶校验位的啊 平时我们要是发送8位数据+奇偶校验的话 最后发的其实是1位奇偶校验+7位数据
-
被优化了?
-
哪些变量重复定义,举个例子?