这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » jobs ARM DIY进程帖(TFT显示)

共53条 2/6 1 2 3 4 5 6 ›| 跳转至
院士
2012-04-11 09:28:27     打赏
11楼
嘿嘿,一起努力……

院士
2012-04-11 13:04:38     打赏
12楼
元件及外围芯片采买信息
    虽然PCB板咱们网站(EEPW)提供了,但是芯片还是自己来购买的,下面我就将我的芯片采购信息与大家分享一下。
   
    这些都是大件啊~~一下就花掉我好多银子!
为了节省开支,我购买的PCB空板,这样还能省下一些……穷啊~~
   

    由于这次使用了0603元件,而我常备的贴片元件却是0805封装的,于是不得不又花了30+购买了电阻与电容元件包。
    即将要购买的是蓝牙芯片。本来打算购买2.4G的无线通讯来着,但觉得也没有太大的用。而且一买还得买两个。自己也有蓝牙棒,这样买一个蓝牙从机芯片就都搞定了。这个蓝牙芯片也要花掉了27块啊~~
    等到蓝牙芯片到手,此次活动的全部采购就宣告结束,之后也会跟帖上代码。
    如果大家想购买与我一样的芯片或方案,欢迎大家跟帖!^_^

专家
2012-04-11 14:10:58     打赏
13楼
加分,鼓励一下

院士
2012-04-11 20:25:34     打赏
14楼
多谢版主捧场~~

院士
2012-04-12 21:38:46     打赏
15楼
我的开发板,我的摄影

    今天还有点累,原计划放出的uC/OS-II实时操作系统移植,只能等到周五晚上了。
     今天把前两天焊接的效果图上传上来吧。

     新收到的PCB板,这就是希望……


     嘿嘿,这是焊成的板子。

     来一大大的特写


     我的目的是立志做硬件工程师里摄影技术最好的

院士
2012-04-15 16:43:51     打赏
16楼
EEPROM读写实验之AT24C02初认识
    EEPROM是一个很神奇的东西,它神奇在于它在失去电力供应时,还能保证芯片内存储的内容不会丢失,当然有人就称其为非易失性存储器。
    IIC接口,也有称为2线接口,是由飞利浦公司最先提出的通讯协议及电气标准。只用2根线就达成数据传输的目的,其应用主要用于板上传输。
    STM32,这个由意法半导体公司推出的以Cortex- M3以ARM核心的处理器,其IIC硬件接口被好多好多工程师们称为垃圾的东西。国内主要论坛几乎都提倡使用其GPIO模拟IIC通讯协议,这样才能达到与标准IIC器件的连接。
    三个主角都已经登台,现在来我这个导演说说剧情吧!
    ST公司是一个相当大的公司,个人觉得其不太可能将自己的IIC硬件做成“废物”一个。国内的一些论坛里工程师们的诉苦也决不会空穴来风,那么情况究竟是一个怎样的情况呢?跟我一起来探个明白吧!
    首先登台的是AT24C02,这个EEPROM芯片。这个小芯片能存储256*8bit的数据,从其datasheet里得知,其地址指针由0x00 – 0xFF,共256个。那我们只需要定义一个 INT8U Address;的变量即可表示其地址的指针了。数据因为是8位的,我们这里定义成无符号型变量,也为INT8U Value;两个一样的变量,什么时候发挥作用?它们之间有着严格的时序安排,分为顺序读,随机读,块读,写方式也分为单字节写,按页写。其流程图如下所示:



(详细完整的流程图请见附件)
    AT24C02的时序已经掌握,那么按其规则一定可以读写AT24C02了。好了,今天周末,要挤出时间来去玩,就写到这里吧。明天请出我们另外两个主角,IIC与STM32 IIC硬件通讯。

附:AT24C02时序流程图     http://share.eepw.com.cn/share/download/id/67070

院士
2012-04-17 23:17:38     打赏
17楼
我想说,我很好用——STM32的硬件IIC使用

    IIC硬件接口被好多好多工程师们称为垃圾的东西,程序经常“卡死”在哪个语句检测、“IIC的硬件检测存在优先级的问题”云云。事实真得如此吗?下面跟随jobs一起来使用IIC硬件资源吧!
     我们在读取AT24C02时要用到下面几个库函数:I2C_GenerateSTART, I2C_Send7bitAddress, I2C_SendData, I2C_GenerateSTOP还有超级牛X的函数I2C_CheckEvent。前几个函数不用多说,如果有难度也就在7位地址时,注意地址位,最后一位为读/写控制位,定义地址时,要先将IIC地址左移1位。
      几乎所有工程师的程序都会“卡”在I2C_CheckEvent()函数这里,每程序都会不出意外的“停在”这里。其实多数情况还是咱们使用时选用的标志符未准确而造成的。本次读写实验所用到的EVENT如下所列:
    起始标志            I2C_EVENT_MASTER_MODE_SELECT 
    地址写标志        I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED 
    数据写标志        I2C_EVENT_MASTER_BYTE_TRANSMITTED
   地址读标志         I2C_EVENT_MASTER_RECEIVER_MODE_SELECTED 
   数据读标志         I2C_EVENT_MASTER_BYTE_RECEIVED

    因为此次使用IIC主模式来控制AT24C02,所以上述标志位已够用了。还有很多,也请网友帮忙总结。
    典型代码示例:
   I2C_GenerateSTART(AT24C02_I2C, ENABLE);
  while(!I2C_CheckEvent(AT24C02_I2C, I2C_EVENT_MASTER_MODE_SELECT));
 
  I2C_Send7bitAddress(AT24C02_I2C, I2C_SLAVE_ADDRESS7, I2C_Direction_Transmitter);
  while(!I2C_CheckEvent(AT24C02_I2C, I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED));
 
  I2C_SendData(AT24C02_I2C, address);
  while(!I2C_CheckEvent(AT24C02_I2C, I2C_EVENT_MASTER_BYTE_TRANSMITTED));
 
  I2C_SendData(AT24C02_I2C, value);
  while(!I2C_CheckEvent(AT24C02_I2C, I2C_EVENT_MASTER_BYTE_TRANSMITTED));
 
  I2C_GenerateSTOP(AT24C02_I2C, ENABLE);


高工
2012-04-17 23:25:23     打赏
18楼
你的IIC弄出来了??
看来你的时间充裕啊

院士
2012-04-17 23:40:00     打赏
19楼
没有问题。
可以读定AT24C02
原计划每天更新来着。
最近看球,实在hold不住了。

院士
2012-05-14 22:00:32     打赏
20楼
解放Systick,uC/OS-II我来了
        Micrium官方给出的uC/OS-II的移植是以Systick为时钟节拍。但是有一个灰常,灰常好用的延时函数是由Systick来写的,这样下来,要么放弃uC/OS-II,要么放弃现有的延时函数,需要重新写。纠结呀~~~
        想想,为了更好的,深入的了解uC/OS-II的移植过程,这次实验室采用更改uC/OS-II时钟节拍的方案,来解决Systick。经过一天的不懈努力,终于实时了(本人比较笨,不要拍砖呀~~嘿嘿)
        下面两张图成功运行的截图!

 

 
        我是使用的IAR for ARM 6.3版本。我开启了3个任务,任务LED灯1与任务LED灯2,分别控制LED灯的闪烁。一个以100Hz的频率闪烁,一个以1Hz的频率闪烁。通过示波器的监测,完美实现100hz的方波。
        附件里为移植的port文件,在iar环境下可以直接使用。
        不多说了,继续写新的实验了~~

附:uC/OS-II移植port文件

共53条 2/6 1 2 3 4 5 6 ›| 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]