-
我感觉可以用, 但是有风险
1. 擦除次数的限制, 比 AT24 更少, 导致程序里不要过多地擦写. 以免失效.
2. FLASH 和程序空间在同一个空间相同的总线, 是不是有主程序被破坏的风险(包括寄存器配置错误, 地址计算错误等).
3. FLASH 的缺点, 一旦要改写某个字, 就得整块擦除, 麻烦不说, 擦除寿命限制比 AT24 更加突出哦
请楼主权衡之
-
#include "ioSTM8S207S8.h"
#include "Includes.h"
#include "Constants.h"
#include "Functions.h"
#include "Globals.h"
#define WRITE4_EEPROM_CMD 0x01
#define READ4_EEPROM_CMD 0x02
#define WRITE1_EEPROM_CMD 0x03
#define READ1_EEPROM_CMD 0x04
#define READ_TM1CH1_CAP_CMD 0x05
/*****************************************************
@Fn: Comm1Events()
@Br: UART1串口事件处理
@Pa: 无
@Rt: 无
@Sp: 无
*****************************************************/
void Comm1Events( void ){
if( uiTenor & UART1_RX_FLAG )
{
uiTenor &= ~UART1_RX_FLAG;
ulong RWAddress;
ulong RWContents;
switch( ucBuff[2] )
{
case WRITE4_EEPROM_CMD: /* 写4字节 */
RWAddress = CharToLong( &ucBuff[3] );
RWContents = CharToLong( &ucBuff[7] );
UnlockFlash( UNLOCK_EEPROM_TYPE );
Write4BytToFlash( RWAddress, RWContents );
LockFlash( UNLOCK_EEPROM_TYPE );
break;
/*
Master -> FF 0B 01 00 40 00 00 A0 A1 A2 A3
Slaver -> FF 0B 01 00 40 00 00 A0 A1 A2 A3
*/
case READ4_EEPROM_CMD: /* 读4字节 */
RWAddress = CharToLong( &ucBuff[3] );
RWContents = Read4BytFromFlash( RWAddress );
DisassembleLong( RWContents, &ucBuff[7] );
ucBuff[1] = ELEVEN_LEN;
break;
/*
Master -> FF 07 02 00 40 00 00
Slaver -> 01 0B 02 00 40 00 00 78 56 34 12
*/
case WRITE1_EEPROM_CMD: /* 写1字节 */
RWAddress = CharToLong( &ucBuff[3] );
UnlockFlash( UNLOCK_EEPROM_TYPE );
WriteByteToFLASH( RWAddress, ucBuff[7] );
LockFlash( UNLOCK_EEPROM_TYPE );
break;
/*
Master -> FF 08 03 01 40 00 00 AA
Slaver -> 01 08 03 01 40 00 00 AA
*/
case READ_TM1CH1_CAP_CMD: /* 读TM1CH1引脚的脉冲宽度 */
memcpy( &ucBuff[3], &ucCapBuff[0], SEVEN_LEN );
ucBuff[1] = TEN_LEN;
break;
/*
Master -> FF 03 05
Slaver -> 01 0A 05 00 09 09 09 09 04 04
*/
default:
break;
}
ucBuff[0] = SLAVER_HEAD;
TransmitFrame( &ucBuff[0], ucBuff[1] );
}
}
-
对精度没影响,但是stm32的数字电源也要2.5V。
-
自己测试下吧,我感觉这个没定论
-
不是想得到驱动执行的时间,而是驱动和应用切换的时间消耗。
有没有经验值?
-
这个真是不太清楚.
-
唤醒之后发短信是没问题
可是一旦发GPRS数据就不行~~
-
感谢rzsheng!
能不能把点灯的程序贴出来啊?另外是不是需要灯的地址?
#define INCLUDE_PC_CONSOLE 串口打印函数都不能输出调试信息啊。
-
难道是和电容的材质有关。。
-
支持版主的,可以用就行,其它的通过软件设置实现
-
再贴个2440 的给你
-
MAKR 帮顶
-
楼主,你的流程是不是串行的?怎么觉得好像整复杂了
-
我也是OK2440,打算裸奔,正在一直FATFS
-
WINCE下访问串口和WINDOWS XP访问串口没什么区别。
-
少文件,重新安装keil
-
楼上说的都有道理。。几种情况都试一下吧,总会出来的。。
-
关注。
-
顶一下
-
RT73在linux-2.6.29内核里面已经有源代码了. LZ可以研究下其源代码