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

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

jobs ARM DIY进程帖(TFT显示)

院士
2012-04-03 22:35:39     打赏
    此帖将会是jobs在本次ARM DIY开发的进程帖。

    上月月末收到PCB空板,考虑到经费问题,没有购买EEPW推荐的基础包,自己从淘宝店淘回了元器件及芯片还有伟大的各种PCB空板。于昨天晚上终于将主PCB板及各个模块的PCB焊接完成。并使用J-Link调试成功。而至此也宣布硬件焊接部分大功告成。

    前一步的成功终结,也预视着新一步的开始。软件部分编写、调试及相关问题也就会在本帖持续更新,望广大网友及版主多提宝贵建议及意见。
    技术分享:
  1. 《H-JTAG + Wiggler 无法识别芯片问题的解决方法 》……2楼
  2. 《我的低成本焊接台》 …………………………………………3楼
  3. 《如何使用外部12MHz晶振》  …………………………………5楼
  4. 《LED跑马灯实验》附HEX文件及视频 …………………………6楼
  5. 《USART1串口通讯》   …………………………………………7楼
  6. 《串口1使用DMA方式发送数据》     …………………………8楼
  7. 《元件及外围芯片采买信息》…………………………………12楼
  8. 《我的开发板,我的摄影》……………………………………15楼
  9. 《EEPROM读写实验之AT24C02初认识》 ………………………16楼
  10. 《我想说,我很好用——STM32的硬件IIC使用》……………17楼
  11. 《解放Systick,uC/OS-II我来了》 …………………………20楼
  12. 《开空调了,DS18B20告诉我室温27.4度》   ………………26楼
  13. 《分压电路——用AD采样来证明   ………………………… 32楼
  14. 《什么叫占空比——PWM波输出(附视频)》   ………………33楼
  15. 《谢谢EEPW——TFT显示》   …………………………………35楼



关键词: 进程     显示    

院士
2012-04-03 23:04:43     打赏
2楼
H-JTAG + Wiggler 无法识别芯片问题的解决方法 昨天晚上将PCB板焊好,上电,连接Jlink,正常!烧写程序正常!宣告PCB焊接顺利完成。 考虑到Jlink是借来的,于是又把以前的wiggler的小板拿了出来,要知道这个低成本的小本也可以配合IAR来进行在线仿真的哟~~ 连接好路线,启动H-Jtag server,检索芯片。错误提示“找不到芯片,请检查连接!”。毕竟已经验证了板的连接没有问题,于是考虑可以为软件版本低,于是登陆hjtag官方网站下载了v1.1版本。重新启动后依然无法识别芯片。在确认hjtag配置没有问题后,开始考虑是不是硬件的问题。 找出wiggler的PCB图与EEPW官方提供的电路图仔细对比,发现两者的JTAG电路连接确有不同,如下: Wiggler将第11引脚进行接地,而EEPW的JTAG将其连接到了tck引脚,这样就造成了JTAG信号无法提供基准时钟频率,因此就无法通信,更谈不上找到芯片。 问题找到了,可以解决起来貌似遇到了一些困难。是wiggler的问题,还是EEPW的问题?这个要查起来还是很耗费时间,考虑到EEPW的开发板已经焊好,不易再进行更改,于是把手中的wiggler小板的第11引脚进行修改。修改的方法就是将其与GND断开,使其悬空。 费了半天的劲,将其改造之后,再次上电。H-jtag顺利找到芯片及flash,进行了擦除操作一切正常,问题得到了解决。 由于最近工作比较忙,没有再花时间细细思考及查阅,也就遗留了一些待日后去解决: JTAG调试接口里的RTck是起到一个什么作用,为什么能将其与TCK连接到一起,而wiggler却将其与GND短接? J-Link能用,而wiggler却不能用,这不是wiggler小板的设计缺陷呢?

附件:
1.H-Jtag官方v1.1正式发布版下载地址
http://share.eepw.com.cn/share/download/id/62073

院士
2012-04-04 14:04:13     打赏
3楼
我的低成本焊接台
    焊接是一位硬件工程师必需具备的能力之一。可是,多数的初学者往往由于设备不足而忽略一些必须注意事项。
    防静电腕带。这个东西还是很高级的,一般专业的焊接平台都会配备的,但是于是初学者的资金往往不足,设备简陋,常常忽略这一个小的“细节”,但在各别的情况下,极可能由于自身的静电高压而将我们脆弱的元件击穿。这样的后果显然是非常严重的,不仅会损失贵重的元件,而且这样的问题在调试时也很难发现——这不都是新焊上的吗!?解决的办法当然也是多样的,比如,将一些线缆去皮,将铜丝缠到手腕处,这样就形成了一个简易的腕带,以达到释放静电的问题;既然是静电的作用,还可以让手保持适度的湿度,这样静电的形成的条件被严重破坏掉,也很难放出“可怕的高压静电”来,从而达到保护元器件的目的。
    松香。一小盒只有区区2元钱,但是其却可以帮上大忙。在此次stm32的焊接过程中,我先将松香涂到PCB板上,然后在高倍放大镜下仔细观察其引脚与焊盘的对应情况,在四面均确认正对时,将松香凉干,这样stm32就被松香简单的固定在了PCB板上了。在电铭铁上少挂焊锡,再将对角引脚焊上,再仔细检查,确认无误后,将全部引脚挂满焊锡,完美焊上。
    希望以上的个人焊接经验总结能帮上广大的网友,另祝网友、版主及EEPW工作人员,大家假期愉快~~

工程师
2012-04-04 14:21:50     打赏
4楼

谢谢分享 , 松香涂线路板 ,学习了。。。。。  上次mcu我全是硬焊 , 焊锡丝中虽有松香,  不是特别好用,


院士
2012-04-06 22:23:11     打赏
5楼
如何使用外部12MHz晶振
    网上大多数的示例及ST公司官方的固件库都是采用8MHz的外部晶振作为HSE,然后再通过PLL倍频至72MHz,以达到在最大工作主频下运行。显然,ST的ARM处理器不可能只能使用这一种频率的晶振,其官方说明书里也标明外部晶振的使用范围为4~16MHz。于是,因为手里恰巧没有8MHz的晶振,于是就拿了一个12MHz的晶振做为外部时钟源。套用一句话“我是一名硬件工程师,我在开发STM32时,使用12MHz的晶振,于是麻烦就来了……”
    Systick不准,使用串口通讯时接收与发送都是乱码。使用示波器发现晶振正常起振,从经验上判断乱码极可能出在时钟频率错误上面。于是关闭RCC的倍频,使用内部晶振源。串口收发正常——更加确信是时钟不匹配的问题。
    再仔细寻找,终于发现,在修改倍频时忽略了一处,更改之后,所有异常全部消失,实验顺便进行。现将修改的内容与大家分享:
    将stm32f10x.h文件第119行“  #define HSE_VALUE    ((uint32_t)
8000000) /*!< Value of the External oscillator in Hz */”更改为“  #define HSE_VALUE    ((uint32_t)12000000) /*!< Value of the External oscillator in Hz */”
    将system_stm32f10x.c文件第1058行“RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE |
RCC_CFGR_PLLMULL9);”修改为“RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL6);”
    至此,可以使用12MHz的外部晶振了。
注:使用stm32f的v3.5固件库,使用IAR做为编译环境

参考文献:百度文库网友Feirui007 http://wenku.baidu.com/view/225764d0240c844769eaee33.html

院士
2012-04-07 15:56:58     打赏
6楼
LED跑马灯实验     这部分内容相对比较简单,程序上的参考价值并不多。这里写出来主要还是为了拿到那基础分1分,但是将我个人的程序架构也分享出来,也算今天发帖有些意义吧!

    其中ucosii部分将直接引用官方文档,此部分移植,不会进行更改。
自己所写的文档全在“USER”文件夹内,“App”将放我的主函数及系统结构。“Func”文件夹将存放各种硬件资源的打包函数,像SendByte()这样发送串口数据的函数将会封装一下st公司的senddata()函数之后在主函数内调用,主要方便自己来使用。
    今天的主角是跑马灯实验,嘿嘿,下面附上代码:


    不多说了,祝大家周末愉快~~

附件:
LED跑马灯hex文件下载地址
http://share.eepw.com.cn/share/download/id/62971
LED灯闪烁视频

院士
2012-04-08 22:49:46     打赏
7楼
USART1串口通讯
    看了评分细则,上面说串口通讯要分三种情况。我觉得第一种查询方式收、发意义不大。待日后有时间再做吧。今天先做发送是查询方式,而接收采用中断方式。
最简单的发送字符串“Hello world!”,之后再回送接收的数据。
源代码:
    明天是周一,又要开始新的一周的工作,大家晚安~~

院士
2012-04-10 22:31:17     打赏
8楼
串口1使用DMA方式发送数据
    上一次实现使用传统串口方式收、发数据,即使用硬件片上接收中断,查询发送方式发送数据。这种传统的方式在51单片机及AVR等MCU中还是非常典型的应用。但是在以Cortex-M3为内核的STM32103ZET上面多少有点跟不上时代的步伐。不多说了,赶紧请上今天的主角DMA通讯:
    DMA,就是“直接内存访问”的意思,是先进的微控制器总线架构和存储系统,是为了提供一个高的数据带宽,并开发响应时间非常快的软件。
    DMA允许数据传输在后台传输,而不需要Cortex-M3处理器的干预。这个操作中,主处理器能够执行其他的任务。大量的数据传输时同时不会对系统性能产生大的影响。
    那么如何实现串口DMA通讯呢?

    首先,我们要配置一下DMA,如下所示:


   
    然后在主程序时直接调用即可:



    这样,每秒钟,我的串口终端就能收到来stm32的信息了:



    没有体验过DMA快速的网友赶紧去体验吧~~

参考文献:
正原点子,《Alientek STM32实例手册》28个实例之--DMA实验

菜鸟
2012-04-10 22:37:10     打赏
9楼
我也在搞DMA的 事情,不过我的想法不大好弄,还在想,先弄点别的程序,DMA是个好东西要发挥出来才是真的实用价值,加油吧同学们

高工
2012-04-10 22:52:50     打赏
10楼
我还没理解怎么DMA  这家伙都用上了

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

回复

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