2016年3月13日

音乐播放器1-FATFS相关操作

摘要: 音乐播放器的两个关键点:1、用FATFS对音乐文件进行管理,包括打开,读取等。2、配置Codec芯片,通过DMA,把读取的音乐文件数据送到Codec。 这个工程中,主要实现第一个大点的一些操作。 直接上程序,需要注意的几个点。   阅读全文

posted @ 2016-03-13 16:45 nasduc 阅读(717) 评论(0) 推荐(0) 编辑

2016年3月7日

关于字符串的一些操作

摘要: 之前一直没有关注字符串的操作,以为嵌入式肯定用不到,这次播放器实验中用到了,需要在这里总结一下。 源文件放在strings.rar 1、字符串的赋值 C语言中,有两种方式可以存放字符串。字符数组和字符指针,见下面的程序。如果用数组的方式来存放,str0和str1是一种,把每个字符都分开写。str0有 阅读全文

posted @ 2016-03-07 22:34 nasduc 阅读(357) 评论(0) 推荐(0) 编辑

2016年3月2日

SD卡操作

摘要: 1、SD卡的上电初始化和读写,都是通过发命令的方式进行的。命令有两种,一种是CMD,一种是ACMD,发ACMD之前,必须要发CMD55,大部分命令还需要带参数。 2、发送命令后,会有响应。命令的参数,以及各命令对应的响应,见协议。 3、SD卡初始化的时候,时钟速率不能超过400KHZ。 4、对SD卡 阅读全文

posted @ 2016-03-02 21:41 nasduc 阅读(412) 评论(0) 推荐(0) 编辑

2016年2月23日

单片机的时间片轮询结构

摘要: 此文章摘录自: http://blog.163.com/zhaojun_xf/blog/static/300505802011102233952153/ 多谢原作者。 时间片轮询思路介绍: 时间片轮询法,在很多书籍中有提到,而且有很多时候都是与操作系统一起出现,也就是说很多时候是操作系统中使用了这一 阅读全文

posted @ 2016-02-23 16:12 nasduc 阅读(6027) 评论(4) 推荐(3) 编辑

2016年1月30日

红外控制实验

摘要: 有一份《红外NEC协议编码说明》,非常清楚的描述了红外NEC码的格式。如下图: 红色为前导码。接下来为32位的数据。包括地址/地址反码/数据/数据反码。后面为重复码,就是你一直按着遥控器,他就会发送重复码。 回到物理层:560us低/560us高------bit0 560us低/1690us高-- 阅读全文

posted @ 2016-01-30 22:42 nasduc 阅读(217) 评论(0) 推荐(0) 编辑

2015年12月25日

ucos的动态内存管理

摘要: 动态内存管理是ucos中相对比较简单好理解的,就拿来先写了。 如果你用"INT8U mem[8][6];"创建了一个二维数组,其实就是创建了一个内存分区(PARTITION),其中它有8个块(block),每个块的空间都是一样的,6个字节。ucos对内存分区进行管理,task按照内存块为单位进... 阅读全文

posted @ 2015-12-25 12:09 nasduc 阅读(1064) 评论(0) 推荐(0) 编辑

2015年12月21日

钩子函数

摘要: 钩子函数都存在于os_cpu_c.c中,总共有6个。钩子函数嵌入在系统函数中,用户可以添加代码,方便调试。需要调用钩子函数的时候,需要把OS_APP_HOOKS_EN设置为1.奇怪的是我的这个工程,调用钩子函数,当创建task2的时候,系统会卡住。钩子函数出问题.rar 阅读全文

posted @ 2015-12-21 21:40 nasduc 阅读(206) 评论(0) 推荐(0) 编辑

2015年12月20日

usoc学习-task2

摘要: 这个函数主要演示了task的删除,以及优先级的切换。可以看到优先级高的task1先运行。优先级切换后,task2的优先级高了,运行顺序反了。然后task1发起task2的删除。task2调用了删除函数后,会马上停止。task剩余的代码也得不到执行。#include "sys.h"#include "... 阅读全文

posted @ 2015-12-20 16:21 nasduc 阅读(200) 评论(0) 推荐(0) 编辑

2015年12月17日

ucos学习1-Task1

摘要: uCOS的学习,最先接触的肯定都是Task。关于task,最重要的就是理清楚几个概念。一、Task由三部分组成:1、任务控制块TCB,包含各种task相关的参数和信息。2、堆栈。在创建task的时候,会创建堆栈,存放CPU的寄存器。在任务切换的时候,会保存CPU的寄存器。3、task的代码,一般就是... 阅读全文

posted @ 2015-12-17 10:47 nasduc 阅读(294) 评论(0) 推荐(0) 编辑

2015年12月15日

Lesson23 DMA操作

摘要: 这里是一个最简单的DMA传输的例子。DMA包括:外设到存储器,存储器到外设,存储器到存储器之间的传输。传输的通道和数据流是有限定的,可查看数据手册的通道分配表格确定。具体的工程见D:\02 Learn\02 UC_OS\mypro\Lesson 23 DMA//我们采用的是存储器到外设UART1的传... 阅读全文

posted @ 2015-12-15 22:41 nasduc 阅读(618) 评论(0) 推荐(0) 编辑

导航