|
楼主 |
发表于 2011-4-21 11:15:36
|
显示全部楼层
int rt_application_init()
{
rt_thread_t init_thread;
rt_thread_t led_thread;
/*创建初始化任务*/
init_thread = rt_thread_create("init",rt_init_thread_entry, RT_NULL,
2048, 8, 20);
/*启动初始化任务*/
if (init_thread != RT_NULL)
rt_thread_startup(init_thread);
/*创建LED闪烁任务*/
led_thread = rt_thread_create("led",rt_hw_led_toggle, RT_NULL,
4096, 9, 20);
/*启动LED闪烁任务*/
if (led_thread != RT_NULL)
rt_thread_startup(led_thread);
return 0;
}
void rt_hw_led_toggle(void* parameter)
{
dir_operation();
}
void dir_operation(void)
{
DIR * dirp;
long save3 = 0;
long cur;
int i = 0;
struct dirent *dp;
dirp = opendir ("/");
save3 = telldir(dirp);
for (dp = readdir(dirp); dp != RT_NULL; dp = readdir(dirp))
{
/* 保存第三个目录项的目录指针 */
if (i++ == 3)
{
save3 = telldir(dirp);
}
}
/* 回到刚才保存的第三个目录项的目录指针 */
seekdir (dirp, save3);
/* 检查当前目录指针是否等于保存过的第三个目录项的指针. */
cur = telldir (dirp);
if (cur != save3)
{
i++;
}
/* 关闭目录 */
closedir (dirp);
}
这是我拷贝的您的代码,其实就是您那编程指南上的代码,我在SD卡里放了5个文件夹,当执行到save3 = telldir(dirp);时,
save3=-260,当执行到cur = telldir (dirp);时,cur=0,第一次接触OS,好多问题啊,在慢慢看,,希望ffxz大师能给指点一下 |
|