BitArt

Ideas Worth Spreading

导航

2013年12月1日

摘要: 结合我自己的经验,谈一谈模块化编程时#include应该出现的位置。总结起来大体有二条规则:一、规则1:只包含必要的头文件 看下面这个模块:===foo.c====#include #include #include void foo (){ printf ("hello world!\n");}===foo.h====#ifndef __foo_h__#define __foo_h__extern void foo();#endif在foo()函数中也只有简单的一行打印语句。由于printf()函数的原型声明来源于stdio.h,因此foo.c中包含了stdio.h无可厚 阅读全文

posted @ 2013-12-01 13:38 BitArt 阅读(2854) 评论(2) 推荐(1) 编辑

2013年11月30日

摘要: 介绍了BF533的DMA操作与SPORT口配合,接受一维数据 阅读全文

posted @ 2013-11-30 10:03 BitArt 阅读(2863) 评论(2) 推荐(1) 编辑

2013年9月14日

摘要: 1.问题的提出 当系统从SPI device启动时,若SCLK = 133M,则SPI的最大速度为33M。然而,有一些串行的flash设备能更快的运行,因此,如果我们使用SPORT口,它的最大速度为SCLK/2=66M。2.硬件连接方法 SPI接口只有主设备发出SCK信号,因此需要将TSCLK配置为内部产生,RSCLK配置为从外部接收,并在硬件上将它们连接在一起; DT1PRI作为MOSI,DR1PRI作为MISO。 根据帧同步信号的特点,将其作为片选信号,作为SCK的门控因子,指示SCK的有效时段。3.配置方法 void Init_SPORT1( void ) /* 由于使用... 阅读全文

posted @ 2013-09-14 07:57 BitArt 阅读(1911) 评论(0) 推荐(1) 编辑

2013年9月10日

摘要: 1.特性 bf533有两个SPORT口(synchronous serial Port),即同步串行接口。完全独立的接收和发送通道,且每个通道都具有缓冲,最高速度可达SCLK/2。最大支持32bit字长,可进行硬件u-law和A-law压缩。结构框图如下: 2.接口信号说明 3.串行时钟T/RCLK 由SPORTx_TCLKDIV和SPORTx_RCLKDIV两个16位寄存器决定分频的值,假设系统时钟为SCLK,则串行时钟的计算公式为: 例如,SCLK=133MHz,RCLKDIV = 4时,得到的RCLK freq = 133/(2*(4+1))=13.3MHz。4.帧同步信号... 阅读全文

posted @ 2013-09-10 08:17 BitArt 阅读(4561) 评论(0) 推荐(2) 编辑

2013年9月6日

摘要: 533SPI的特性最高速度可达SCLK/4;支持主模式和从模式;可使用8个GPIO口作为从选择线:1 slave select input pins7 slave select output pinsDMA支持可编程的时钟极性和相位;可编程的波特率;可编程的字长度:8或16bits接口信号说明时钟信号SCK由主设备产生,是门控的,即只在传输期间有效,在没有数据操作时,是无脉冲波形的。在一个边沿输出数据、另一个边缘采样数据。Master Out Slave In(MOSI)/Master In Slave Out(MISO)双向数据引脚,方向取决于设备是主设备还是从设备。SPISS,PF0作为从 阅读全文

posted @ 2013-09-06 08:26 BitArt 阅读(2160) 评论(0) 推荐(0) 编辑

2013年8月31日

摘要: #include #include #define POLC 0x00004000#define PORT_CFG_2_3_EXT_FS 0x00000020 #define XFR_TYPE_NON_ITU656 0x0000000C#define SLEN_32 0x001f#define FLOW_1 0x1000unsigned char iTxBuffer[4000];unsigned char iRxBuffer[4000];EX_INTERRUPT_HANDLER(Sport0_RX_ISR);EX_INTERRUPT_HANDLER(Sport0_TX_ISR);... 阅读全文

posted @ 2013-08-31 07:57 BitArt 阅读(778) 评论(0) 推荐(0) 编辑

2013年8月29日

摘要: BF533的SDRAM控制器最大支持128M bytes的SDRAM空间;总线宽度可以配置为4位、8位、16位。处理器与SDRAM的连线包括数据总线D[0:15]、地址总线A[1:19]、SDRAM刷新专用信号SA10,时钟信号SCLK、时钟使能信号SCKE、行锁存信号SRAS#,列锁存信号SCAS#,写使能信号SWE#,片选信号SMS#和总线屏蔽信号ABE[1:0].SDRAM的起始地址为0x0000 0000,尾地址为0x03ff ffff,共64MB;若为32MB SDRAM,则尾地址为0x01ff ffff;1.如何配置EBIU的寄存器 首先,在所使用的SDRAM的手册中,找到时... 阅读全文

posted @ 2013-08-29 07:38 BitArt 阅读(2081) 评论(0) 推荐(0) 编辑

2013年8月28日

摘要: 上一节谈了GPIO问题,是用BF561 ezkit进行说明的,这是因为561 ezkit上的GPIO是与LED直连的,讲解GPIO时不会涉及到其它问题,降低了复杂性。对于533,也采取同样的操作即可。 但是有一个问题,533 ezkit上的led是连到了带IO口的flash上的,因此为了点亮相应的LED,必须通过flash来进行。这一节就讨论一下如何通过控制flash将其点亮。 Blackfin处理器具有外部总线接口单元(External Bus Interface Unit,EBIU),它为处理器与外部的同步存储器和异步存储器提供了无缝连接。片上的SDRAM控制器(SDC)兼容PC... 阅读全文

posted @ 2013-08-28 12:11 BitArt 阅读(2204) 评论(0) 推荐(0) 编辑

2013年7月4日

摘要: Blacfin DSP的寄存器操作方法与GPIO示例 阅读全文

posted @ 2013-07-04 11:31 BitArt 阅读(5197) 评论(0) 推荐(1) 编辑

2013年6月1日

摘要: 为了加深对I2C总线的理解,用C语言模拟IIC总线,边看源代码边读波形:如下图所示的写操作的时序图:读时序的理解同理。对于时序不理解的朋友请参考“I2C总线之(二)---时序”完整的程序如下:#include<reg51.h>#define uchar unsigned char#define uint unsigned int#define write_ADD 0xa0#define read_ADD 0xa1uchar a; sbit SDA=P2^0;sbit SCL=P2^1;void SomeNop(); //短延时void init(); //初始化void che.. 阅读全文

posted @ 2013-06-01 13:22 BitArt 阅读(33058) 评论(21) 推荐(18) 编辑