ARM开发历程

来源:互联网 发布:ubuntu 软件安装位置 编辑:程序博客网 时间:2024/06/11 02:28

    文章以stm32f4为基础,从零基础到可以开发简单的应用程序的一步一步的记录,中间走了很多弯路,现将点点滴滴记录下来,方便日后查阅,同时也为刚入门的兄弟姐妹们带来点方便。

    ARM的基础学习看看书和手册就足够了,但是当真正要开发时,会发现一大堆问题。现以问题作为引导进行注意解决:

  • 一个芯片到底有多少个手册?功能分别是什么?

    就STM32而言:我知道的有 参考手册(Reference manual) ,该手册主要是用来进行参考设计的,是理论层面的,他提供给我们的信息是这个芯片有什么资源,这些资源能做什么,至于怎么做,那个资源在那个引脚上,这个芯片没有说。当你利用参考手册 掌握了芯片的信息后, 下一步就是进行具体的开发。画板子,引出芯片的引脚,这时候根据你掌握的芯片可以提供的资源,你就得查找资源的更加详细的信息,如芯片的封装格式、引脚的多少,那些引脚提供GPIO功能,那些引脚提供复用功能,这些数据不能在参考手册中查到,这时候就得找芯片的数据手册(datasheet),他提供了这些非常物理的信息。例如:编程阶段发现串口的DB9的RX、TX连到芯片的PA2、PA3,这时候就需要查数据手册,看到底是USARTx(x是几),然后再进行引脚复用的配置。我目前发现一般就这两个手册,当然网上一搜,可能发现还有个叫 用户手册  的东西,但是的下载下来的都是参考手册,可能是不同的人的不同翻译。

  • 关于串口,你知道多少?

    可能我们学习ARM,通过简单的学习,然后就直接进行编码,在编写简单的例子程序中进行学习。第一个行程序一般都是控制板子上的LED的开与关,然后就是实现串口通信。而关于串口,可能大家都只是略知一二,没有深入研究。因为在我开发中,一个简单的串口让我调了三四天,所以非常气愤,故将所有技术细节展现出来,方便如后查阅。

    串口:串行接口的简称,通常指COM接口。串行接口 (Serial Interface) 是指数据一位一位地顺序传送,其特点是通讯线路简单,只要一对接口线就可以实现双向通信(可以直接利用电话线作为传输线),从而大大降低了成本,特别适用于远距离通信,但传送速度较慢。串行通讯可以进一步分为单工、半双工和全双工三种。串行通讯两种最基本的方式就是:同步串行通讯方式和异步串行通讯方式。同步串行是指SPI(Serial Peripheral interface)的缩写,顾名思义就是串行外围设备接口。SPI总线系统就是一种串行外围设备接口。异步串行是指UART(Universal Asynchronous Receiver/Transmitter),通用异步接收/发送。UART包含TTL电平的串口和RS232电平的串口,TTL电平是3.3V,而RS232是负逻辑电平,它定义+5~+12V为低电平,而-12~-5V为高电平。(电平转换芯片一般可以进行转化,当然编码也可以实现电平转换)。串行接口按电气标准及协议来分包括RS-232-C、RS-422、RS485等。RS-232-C、RS-422与RS-485标准只对接口的电气特性做出规定,不涉及接插件、电缆或协议。扯的有点远,言归正传,我们通常所说的串口是RS-232口,即标准串口,是一种最常用的串行通讯接口,他通常有DB25和DB9,一般我们使用DB9。好,重点来了

   

1-黑 2-红 3-棕 4-橙 5-黄 6-绿 7-蓝 8-紫 9-白 B: 1-黑 2-棕 3-红 4-橙 5-黄 6-绿 7-蓝 8-紫 9-白

1.  载波检测(DCD - Data Carrier Detect)
2.  接受数据(RXD - Receive Data)
3.  发出数据(TXD - Transmit Data)
4.  数据终端准备好(DTR - Data Terminal Ready)
5.  信号地线(SG - System Ground)
6.  数据准备好(DSR - Data Set Ready)
7.  请求发送(RTS - Request to Send)
8.  清除发送(CTS - Clear to Send)
9.  振铃指示(RI - Ring Indicator)


DB9公头/针型引脚定义

引脚序号       2         3         5        1、4、6        7、8
信号定义    RXD    TXD     地      内部相连      内部相连

注:该口可接与计算机通讯的设备

 

DB9母头/孔型引脚定义:

引脚序号       2         3         5       1、4、6        7、8
信号定义    TXD    RXD     地      内部相连      内部相连

注:该口可直接插入计算机的COM口(计算机提供的一般都是公口,所以母口可直接连接)

此时,这就需要画原理图和PCB的人员注意,不是一个需要串口的地方,随便放一个头上去就行的。注意2、3的功能不一样,(我就被坑过,本来是按照公头画的原理图,但是焊的一个母头,唉,都是泪呀!)。

同时:对于连接线,两头都是公头或者都是母头的,这样的线每根内部都是相应直通的,而一公一母的2、3刚好相反。

注:USART(Universal Synchronous/Asynchronous Receiver/Transmitter)通用同步/异步串行接收/发送器

    UART(Universal Asynchronous Receiver/Transmitter)通用异步接收/发送。

当USART当作异步通讯时,没有什么区别。我个人大概可认为USART是UART的升级版。



    先到这吧!

                                 文章部分内容节选自网友其他博文,特鸣谢!


0 0
原创粉丝点击