在线时间0 小时
UID351719
ST金币0
蝴蝶豆0
注册时间2012-4-7
新手上路
- 最后登录
- 1970-1-1
|
a0a.1 0b0c
本人使用该型号单片机,写了一段基本的FLASH读写程序,把一个数组的值写入flash,然后再进行读取,通过串口发送到计算机显示出来,用以检测是否正确写入。但收不到任何内容。程序如下,求高手看看哪里出了问题。或者给小弟一个最基本的flash例程。
#include
u8 a[FLASH_BLOCK_SIZE]@0x200;
u8 i,p=0;
u8 c;
u32 add,start_add,stop_add;
u16 block;
typedef enum { FAILED = 0, PASSED = !FAILED} TestStatus;
TestStatus OperationStatus;
FLASH_Status_TypeDef Status;
u16 timeout = 0x1000;
void UART2_Init(void)
{
UART2_CR2=0; //禁止发送和接收
UART2_CR1=0; //UART使能,M=0,8个数据位,禁止奇偶校验,
UART2_CR3=0; //LIN MODE 禁止,1个停止位,禁止SLK
UART2_BRR2=0x00; //波特率设置,9600,fmaster=2M=fhsi(16M)/8
UART2_BRR1=0x0d; //主意设置先BRR2,后BRR1
UART2_CR2=0x2c; //接收中断使能,发送使能,接收使能
}
void UART2_Send(unsigned char ch)
{
while((UART2_SR&0x80)==0x00);
UART2_DR=ch;
}
main()
{
UART2_Init();
FLASH_SetProgrammingTime(FLASH_PROGRAMTIME_STANDARD);
FLASH_Unlock(FLASH_MEMTYPE_PROG);
for(i=0;i |
|