![](http://m.amcfsurvey.com/uphotos/qts711/thumb/avatar.jpg)
SAKRUA开发板对VS1053B的各种命令函数: #ifndef __VS10XX_H__ #define __VS10XX_H__ #include "spi.h" #define VS_WRITE_COMMAND 0x02 #define VS_READ_COMMAND 0x03 //VS10XX寄存器定义 #define SPI_MODE 0x00 #define SPI_STATUS 0x01 #define SPI_BASS 0x02 #define SPI_CLOCKF 0x03 #define SPI_DECODE_TIME 0x04 #define SPI_AUDATA 0x05 #define SPI_WRAM 0x06 #define SPI_WRAMADDR 0x07 #define SPI_HDAT0 0x08 #define SPI_HDAT1 0x09 #define SPI_AIADDR 0x0a #define SPI_VOL 0x0b #define SPI_AICTRL0 0x0c #define SPI_AICTRL1 0x0d #define SPI_AICTRL2 0x0e #define SPI_AICTRL3 0x0f //外围控制管脚的定义 #define VS_DQ PIN_P23 //DREQ #define VS_RST PIN_P22 //RST //#define VS_XCS PIN_PC4 //XCS--SPI_CS0--IO10 //#define VS_XDCS PIN_PC1 //XDCS--SPI_CS2--IO23 u16 VS_RD_Reg(u8 address); void VS_WR_Data(u8 data); void VS_WR_Cmd(u8 address,u16 data); void VS_Init(void); u8 VS_HD_Reset(void); void VS_Soft_Reset(void); void VS_Ram_Test(void); void VS_Sine_Test(void); void set1003(void); u16 GetDecodeTime(void); u16 GetHeadInfo(void); void ResetDecodeTime(void); void LoadPatch(void); void GetSpec(u8 *p); #endif
![](http://m.amcfsurvey.com/uphotos/baida/thumb/avatar.jpg)
![](http://m.amcfsurvey.com/uphotos/dcopymebs521/thumb/avatar.jpg)
![](http://m.amcfsurvey.com/uphotos/qts711/thumb/avatar.jpg)
IO操作函数学习: pinMode(PIN,PIN模式) 作用:设置IO输入或输出 参数: PIN:要设置的IO 模式:INPUT(输入),OUTPUT(输出),INPUT_PULLUP(带上拉的输入) 返回值:没有 示例:设置控制LED0的IO为输出 pinMode( PIN_LED0, OUTPUT ); digitalWrite(PIN,值) 作用:IO输出高、低电平 参数: PIN:要设置的IO 值:1,0 返回值没有 示例:设置LED0的IO输出高电平 digitalWrite(PIN_LED0,1); digitaRead(PIN) 作用:从IO读入数据 参数: PIN:要读数据的IO 返回值 :1或0 示例: IOStatus=digitaRead(PIN0) setup() 上电初始化函数,只是上电时运行一次 loop() 主循环函数,上电运行setup()后转到此函数循环运行。 下载程序运行后,LED灯闪烁。
![](http://m.amcfsurvey.com/uphotos/qts711/thumb/avatar.jpg)
SAKURA板以太网连接测试 今天学习用于以太网连接的库函数,下面是我今天学习的函数(未完待续。。。) void begin(byte mac[6], byte ip[4], byte dns[4], byte gateway[4], byte subnet[4]); 启动以太网连接 参数: mac:网卡MAC地址 ip:IP dns:DNS gateway:网关 subnet:子网掩码 char *localIP(); 取得本机IP地址,如果启动时没有指定IP,通过DHCP指派,可通过此函数,取得IP bool isLinkup(); 检测是否已经连接上,如连接上返回1,否则返加0 bool Ping(const char *hostname); 通过ping测试连接,如果网络连通返加1,否则返加0 例:Ping(m.amcfsurvey.com) 当然要使用Ethernet库,你要把库文件导入到你的项目中。并在头部加上: #include "Ethernet.h" TEthernet myNet;
![](http://m.amcfsurvey.com/uphotos/qts711/thumb/avatar.jpg)
串口PC通讯 先到网页里下个驱动: http://share.eepw.com.cn/share/download/id/79366 代码为: #include #define D_INTERVAL 1000 void setup() { Serial.begin( 38400 ); // } void loop() { Serial.print("Renesas little fish"); delay(D_INTERVAL); } 看看初始化的Serial.begin(int speed, port)函数:\ speed: 波特率 port: 使用的串口(如果省略、使用默认的USB转虚拟COM口) - SCI_NONE : 不使用SCI - SCI_AUTO : 自动选择SCI - SCI_USB0 : 使用USB0虚拟COM口 - SCI_SCI0P2x : SCI0 (PIN_P20,PIN_P21/IO0(RxD)、IO1(TxD)) - SCI_SCI2A : SCI2A (PIN_P13,PIN_12/IO30(RxD)和IO31(TxD)) - SCI_SCI2B : SCI2B (PIN_P50,PIN_P52/IO24(TxD)、IO26(RxD)).访问XBee时使用 - SCI_SCI6B : SCI6B (PIN_P32,PIN_P33/IO6(TxD)、IO7(RxD)) 向串口输出ASCII数据 Serial.print(val) Serial.print(val, format) 其中format:BIN:2进制、OCT:8进制、DEC:10进制、HEX:16进制 可参考arduino的介绍:http://arduino.cc/en/Serial/Print 电脑上找个串口调试软件,设定波特率38400,8数据位,1停止位,无校验,打开串口就可以看到接收的数据了。
![](http://m.amcfsurvey.com/uphotos/qts711/thumb/avatar.jpg)
蜂鸣器蜂鸣代码: #include void setup() { pinMode(0,OUTPUT); } void loop() { tone(0, 523); delay(500); tone(0, 587); delay(500); tone(0, 659); delay(500); } 接口函数 void tone ( int pin, int frequency, int duration_ms = 0 ) 生成矩形波 pin IO frequency 输出频率[Hz] duration_ms 持续时间[ms]。0为持续输出,
![](http://m.amcfsurvey.com/uphotos/qts711/thumb/avatar.jpg)
TEthernet库的库函数: 函数1:static unsigned long getVersion(version_info *vi); 功能概要:依据vi指针返回TEthernet库的版本信息, 函数2:static void processPackets(); 功能概要:该函数要放在主函数中不断地循环执行,以确定是否有需要接收的数据包,同时也能够接收是否有错误发生,该函数依据接收到的数据内容而不断被执行(这句话的意思是说:当有错误发生时,通过该函数的执行,系统会给出报错警告。 函数3:void setHostname (const char * myhostname); 功能概要:该函数设置当SAKURA开发板作为主机时的主机名 函数4:int begin (byte mac [6]); 功能概要:仅依据MAC地址来启动Ethernet库的使用,成功返回1,失败返回0。 函数5: void begin (byte mac [6], byte ip [4]); 函数6:void begin (byte mac [6], byte ip [4], byte dns [4]); 函数7: void begin (byte mac [6], byte ip [4], byte dns [4], byte gateway [4]); 函数8: void begin (byte mac [6], byte ip [4], byte dns [4], byte gateway [4], byte subnet [4]); 功能概要:其它都类似,这里只对函数8作简要说明,依据MAC地址、IP地址、DNS域名解析、网关、子网掩码来启动Ethernet库的使用,成功返回1,失败返回0。 函数9:char * localIP (); 功能概要:返回本地IP地址。 函数10:bool isLinkup (); 功能概要:Ethernet是否已经连接上,成功返回true,失败返回false。 未完待续。。。。
回复
有奖活动 | |
---|---|
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
【有奖活动】智能可穿戴设备AR/VR如何引领科技新潮流! | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
【有奖活动】震撼来袭!这场直播将直击工程师的心灵! |
打赏帖 | |
---|---|
【换取手持数字示波器】+AT89C2051串口接收数据显示到LCD1602上被打赏50分 | |
【分享评测,赢取加热台】+AT89C2051控制NRF24L01收发数据被打赏50分 | |
【分享评测,赢取加热台】迪文屏设计实战技巧被打赏40分 | |
“DFRobot盖革计数器模块评测”基础模型搭建被打赏50分 | |
【换取手持数字示波器】+角点检测----Harris被打赏40分 | |
【换取手持数字示波器】常见音频指标被打赏20分 | |
【分享评测,赢取加热台】从零配置MCX-N947——PWM(SCtimer)被打赏50分 | |
【分享评测,赢取加热台】实际测试MCX-N947——PWM(Ctimer)被打赏50分 | |
【换取手持数字示波器】红外触摸框及各类红外设备的工作原理被打赏20分 | |
【换取手持数字示波器】+精英板驱动两相四线步进电机被打赏10分 |