OpenEdv-开源电子网

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

无循环 main运行三次 向SD卡写数据

[复制链接]

3

主题

12

帖子

0

精华

新手上路

积分
44
金钱
44
注册时间
2015-5-9
在线时间
0 小时
发表于 2015-5-13 19:27:44 | 显示全部楼层 |阅读模式
5金钱
战舰STM32,芯片F103ZET6,根据实验40,FATFS改的
又没加循环,下载一次板,自动运行三遍main函数。这是为什么?怎么解决?
换了一个板还是这样。
程序如下:
[mw_shl_code=c,true]#include "led.h" #include "delay.h" #include "key.h" #include "sys.h" #include "lcd.h" #include "usart.h" #include "sram.h" #include "malloc.h" #include "string.h" #include "mmc_sd.h" #include "ff.h" #include "exfuns.h" #include "usmart.h" #include"stdio.h" int main(void) { FIL file; //文件对象 // FRESULT res;//FATFS函数通用结果代码 //UINT bw; //文件写计数 //unsigned char bufferl[100]="this is a new file"; //byte即unsigned char,范围0~255 int n = 65;//65是A的ascii码 unsigned char c[2]; c[0]= (char)n;//ascii码转换成字符 c[1]='1'; delay_init(); //延时函数初始化 uart_init(9600); //串口初始化为9600 LCD_Init (); LED_Init(); exfuns_init(); //为fatfs相关变量申请内存 usmart_dev.init(72); SD_Initialize(); f_mount(0,fs[0]);//注册工作区域,或者也可f_mount(0,&fs);来注册,此时需要写FATFS fs; POINT_COLOR=RED;//设置字体为红色 LED0 =0;LED1 =1; f_open(&file ,"new.txt",FA_OPEN_ALWAYS |FA_READ| FA_WRITE); //打开一个文件(不存在则创建),读写模式(可追加数据) LCD_ShowString(60,150,200,16,16,"FATFS OK!"); f_lseek(&file, f_size(&file));//把指针指向文件末端 f_write(&file ,c,2,&bw);//写入数据,第二个参数传入的是指向写入数据的指针 , 指向数组的指针可以是数组标号data , 也可以是数组第一个数据的地址&data[0] , 这是C的基本语法 . f_close(&file ); LED0 =1;LED1 =0; }[/mw_shl_code]

MYFATFS.rar

5.21 MB, 下载次数: 53

最佳答案

查看完整内容[请看2#楼]

这种main函数不加while死循环的代码,死一个算一个。 楼主自求多福。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165537
金钱
165537
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-5-13 19:27:45 | 显示全部楼层
这种main函数不加while死循环的代码,死一个算一个。
楼主自求多福。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

3

主题

12

帖子

0

精华

新手上路

积分
44
金钱
44
注册时间
2015-5-9
在线时间
0 小时
 楼主| 发表于 2015-5-14 09:06:47 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
所以说,如果在main函数其他地方有用到while()循环,就不会这样了么?
为什么?
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165537
金钱
165537
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-5-14 22:16:42 | 显示全部楼层
回复【3楼】wty_110312:
---------------------------------
总之:main函数不能结束!
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

3

主题

12

帖子

0

精华

新手上路

积分
44
金钱
44
注册时间
2015-5-9
在线时间
0 小时
 楼主| 发表于 2015-5-16 17:17:24 | 显示全部楼层
回复【4楼】正点原子:
---------------------------------
已解决,在main最后加了一个while循环,只跑一次。但是。。。下载到板上,打开串口助手mian又自动跑一次。。。。这。。。正常么?
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165537
金钱
165537
注册时间
2010-12-1
在线时间
2117 小时
发表于 2015-5-16 22:22:20 | 显示全部楼层
回复【5楼】wty_110312:
---------------------------------
串口电路复位了开发板。。。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

3

主题

12

帖子

0

精华

新手上路

积分
44
金钱
44
注册时间
2015-5-9
在线时间
0 小时
 楼主| 发表于 2015-5-18 16:15:48 | 显示全部楼层
回复【6楼】正点原子:
---------------------------------
明白了。这两天又莫名其妙的好了。
回复

使用道具 举报

5

主题

33

帖子

0

精华

初级会员

Rank: 2

积分
101
金钱
101
注册时间
2016-3-30
在线时间
17 小时
发表于 2016-6-28 14:14:18 | 显示全部楼层
我也碰到这个问题了,谢谢
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-14 22:18

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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