STM32CubeMX – EXIT

  • 建立工程 参考:stm32cubemx-初体验
  • 配置GPIOA0为外部中断
  • 进入配置界面
  • 配置外部中断的中断响应方式
  • 配置NVIC并开启外部中断

  • 修改代码实现功能
    ST提供的HAL驱动中已经为我们配置好了中断的回调方式,因此我们只需要在自己的代码中实现以下回调函数,并在回调函数中处理中断事务。

/**
  * @brief  EXTI line detection callbacks.
  * @param  GPIO_Pin Specifies the pins connected EXTI line
  * @retval None
  */
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
{
  /* Prevent unused argument(s) compilation warning */
  UNUSED(GPIO_Pin);
  /* NOTE: the HAL_GPIO_EXTI_Callback could be implemented in the user file
   */
}

(580) 753-5417

  • 打开STM32CubeMX软件界面如下
  • 单击 NewProject 创建新项目,在弹出的窗口中选择MCU
  • 双击MCUs List 中选择的MCU
  • 配置MCU时钟源为外部晶振
  • 配置各外设时钟频率(外部8M晶振,HCLK 168M)
  • 配置GPIOD12为输出
  • 生成代码
  • 配置生成的项目
  • 单击OK完成

  • 打开工程在main.c文件中添加点亮LED灯代码

  • 编译链接后将固件下载到STM32F4Discovery开发板上将点亮LED4

USB2.0连接器

USB2.0 引脚定义

Series A 和 Series B

引脚 名称 颜色
1 VBUS 红色
2 D- 白色
3 D+ 绿色
4 GND 黑色
Shell Shield Drain Wire

Mini-B 和 Micro-A/B

引脚 名称 颜色
1 VBUS 红色
2 D- 白色
3 D+ 绿色
4 ID 未连接
5 GND 黑色
Shell Shield Drain Wire

1脚的判断

USB2.0 Stand A Plug

USB2.0 Stand A Receptacle

USB2.0 Stand B Plug

USB2.0 Stand B Receptacle

USB2.0 Mini B Plug

USB2.0 Mini B Receptacle

USB2.0 Micro A Plug

USB2.0 Micro B Plug

RJ45连接器

简介

RJ45 是以太网使用双绞线连接时常用的一种连接插头。在百兆网络中,使用1、2、3、6这四根线传输信号。定义如下:

引脚 名称
1 TX+
2 TX-
3 RX+
6 RX-

1脚的判断

RJ45水晶头金属触点向上,双绞线进入水晶头的一侧面向自己则,左侧第一个触点为第1引脚。如下图所示:

Allegro基础-生成Gerber文件

设计参数检查

  • 记录Design Param Editor -> Design选项卡中的User units,Accuracy
  • 勾选Design Param Editor -> Dispaly选项卡中的 Filled pads、Connect line endcaps、Thermal pads

铺铜参数检查、

  • Shape -> Global Dynamic Shape Parameters中Shape fill选项卡下Update to Smooth自动修改动态铜皮
  • Void controls选项卡下Artwork format选择Gerber RS274X

DRC检查

Status检查

  • 检查Display -> Status 选项卡中的颜色框均为绿色

Database Check

  • Tools->Database Check 打开DB-Doctror窗口勾选所有项Check

输出文件夹设置

生成钻孔数据

  • Manufacture -> NC -> NC Parameters 在弹出的窗口中设置Format和Output units;其余保持默认
  • Manufacture -> NC -> Drill Customization 在弹出的窗口中,单击Auto generate symbols 为钻孔自动分配符号和图形;单击OK完成
  • Manufacture -> NC -> Drill Legend在弹出的窗口中设置output units和legends 选项为实际值
  • 单击OK,将生成的 钻孔表放到 板框层的下面
  • Manufacture -> NC -> NC Drill在弹出的窗口中勾选Auto tool select并根据实际情况设置Drilling选项;单击Dril生成钻孔文件
  • Manufacture -> NC -> NC Route在弹出的窗口中单击Route,生成铣刀数据文件(针对非圆形孔)

生成光绘文件

  • Manufacture -> Artwork 在弹出的对话框中的General Parameters选项卡中修改Device type为GerberRS274X,Output units、Format根据实际情况设置,其它项保持默认
  • 在Film Control选项卡中添加TOP,BOTTOM,SILK_TOP,SILK_BOTTOM,SOLD_TOP,SOLD_BOTTOM,PASTEMASK_TOP,PASTEMASK_BOTTPM,DRILL;根据板子的实际层数添加内部层;
  • 给TOP和BOTTOM层添加Outline,在TOP下的任一文件上右键->add在弹出的窗口中勾选BOARD GEOMETRY下的OUTLINE单击OK将OUTLINE添加到TOP层,BOTTOM层类似
  • 保持Artwork Control Form窗口开启,打开Color/Visibility窗口,关闭所有显示;打开Soldmask top层需要添加的内容,单击Apply。在Artwork Control Form窗口的Film Control中的任意一个文件夹上右键->add输入SOLD_TOP完成SOLD_TOP层的创建。
  • 选择要生成光绘的层,右侧undefined line width设置5mil,Plotmode根据实际设置
TOP
    BOARD GEOMETRY/OUTLINE
    ETCH/TOP
    PIN/TOP
    VIA CLASS /TOP
BOTTOM
    BOARD GEOMETRY/OUTLINE
    ETCH/BOTTOM
    PING/BOTTOM
    VIA CLASS /BOTTOM
SOLD_TOP
    BOARD GEOMETRY/OUTLINE
    BOARD GEOMETRY/SOLDERMASK_TOP
    PACKAGE GEOMETRY/SOLDERMASK_TOP
    PIN/SOLDERMASK_TOP
    VIA CLASS/SOLDERMASK_TOP(过孔开窗)
SOLD_BOT
    BOARD GEOMETRY/OUTLINE
    BOARD GEOMETRY/SOLDERMASK_BOTTOM
    PACKAGE GEOMETRY/SOLDERMASK_BOTTOM
    PIN/SOLDERMASK_BOTTOM
    VIA CLASS/SOLDERMASK_BOTTOM(过孔开窗)
SILK_TOP
    BOARD GEOMETRY/OUTLINE
    BOARD GEOMETRY/SILKSCREEN_TOP
    PACKAGE GEOMETRY/SILKSCRENN_TOP
    REFDES/SILKSCREEN_TOP(位号)
SILK_BOT
    BOARD GEOMETRY/OUTLINE
    BOARD GEOMETRY/SILKSCREEN_BOTTOM
    PACKAGE GEOMETRY/SILKSCRENN_BOTTOM
    REFDES/SILKSCREEN_BOTTOM(位号)
PASTE_TOP
    VIA CLASS/PASTEMASK_TOP
    PIN/PASTEMASK_TOP
    PACKAGE GEOMETRY/PASTEMASK_TOP
    BOARD GEOMETRY/OUTLINE
PASTE_BOT
    VIA CLASS/PASTEMASK_BOTTOM
    PIN/PASTEMASK_BOTTOM
    PACKAGE GEOMETRY/PASTEMASK_BOTTOM
    BOARD GEOMETRY/OUTLINE
DRILL
    BOARD GEOMETRY/OUTLINE
    MANUFACTURING/NCDRILL_FIGURE
    MANUFACTURING/NCDRILL_LEGEND
    MANUFACTURING/NCLEGEND-x-y
    PACKAGE GEOMETRY/SILKSCREEN_TOP
    BOARD GEOMETRY/DIMENSION

Sieglingia

导入DXF到BOARD GEOMETRY

  • 打开PCB Editor软件
  • File -> Import ->DXF
  • 在弹出的 DXF In对话框中 选择要导入的文件,设置导入单位;单击Edit/Viewlayers
  • 在弹出的 DXF In Edit/View layers 对话框中选择要导入的层
  • 修改Map selected items 选项下的Class为 BOARD GEOMETRY
  • 选择New subclass创建新的层;例如dxf_20181105
  • 单击Map
  • 单击OK,回到DXF In窗口
  • 单击 Import完成导入
  • 单击 Close关闭DXF In窗口

在Outline 生成板框

  • Edit -> Change;
  • Options窗口Class项Board Geometry NewSubclass项outline并勾选
  • 使用鼠标框选板框上的线段
  • F6

内缩3mm生成Package Keepin

  • Edit -> Z-Copy
  • Options窗口Copy to Class/Subclass项目:PACKAGE KEEPIN ALL
  • Options窗口Size选择 Contract;Offset输入120mil
  • 单击 Board Geometry下outline层的板框Shape
  • F6完成

内缩0.5mm生成Route Keepin

  • Edit -> Z-Copy
  • Options窗口Copy to Class/Subclass项目:ROUTE KEEPIN ALL
  • Options窗口Size选择 Contract;Offset输入20mil
  • 单击 Board Geometry下outline层的板框Shape
  • F6完成

生成非金属化安装孔

  • 将Board Geometry下DXF层中的安装孔Change到Outline层
  • 将Outline层的安装孔Z-Copy并外扩20mil到ROUTE KEEPOUT ALL

将outline线段组合为shape

  • Shape -> Compose Shape
  • Option窗口中Active class: Board Geometry;Add shape to subclass:outline
  • 鼠标框选所有板框线段
  • F6完成

7315038302

高亮指定网络的焊盘

  1. Display -> Assign Color
  2. Find窗口选择Nets
  3. Option窗口选择颜色与填充方式
  4. 单击要修改的网络
  5. F6完成

高亮未使用焊盘

  1. Display -> Assign Color
  2. Option窗口选择颜色与填充方式
  3. Find窗口中 Find By Name 下拉列表中选择Net
  4. 文本框输入dummy
  5. 按下回车键,完成未使用焊盘的高亮

Allegro基础-飞线处理

飞线的显示

  • 显示所有飞线
    Display -> Show Rats-> All
  • 显示指定器件的飞线
    Display -> Show Rats-> Component
  • 显示指定网络的飞线
    Display -> Show Rats-> Net

飞线的隐藏

  • 隐藏所有飞线
    Display -> Blank Rats-> All
  • 隐藏指定器件的飞线
    Display -> Blank Rats-> Component
  • 隐藏指定网络的飞线
    Display -> Blank Rats-> Net

收起GND飞线

  1. Edit -> Properties
  2. Find 窗口选择 Nets 选项
  3. 鼠标单击GND网络
  4. 在弹出的Edit Property窗口的 Available Properties选项中选择Voltage;并将Value值设置为0
  5. 单击Apply完成设置

收起飞线与隐藏飞线的区别

隐藏飞线飞线不可见,收起飞线,并没有隐藏,只是相同网络之间不再用飞线连接,而是将网络上的每一个焊盘,用带对角线的矩形线框围住。

find命令的使用

语法

  • 格式
 find [-H] [-L] [-P] [-D debugopts] [-Olevel] [path...] [expression]
  • 可选参数(常用项)
参数 描述
name 文件名
iname 文件名,忽略大小写
type d 目录
c 字符型文件
b 块文件
l 符号链接
s socket
f 一般文件
empty 空文件

实例

  • 查找指定文件
#在当前目录下查找名称为date的文件
find . -name date
#在/bin目录下查找名称为cp的文件
find /bin -name cp
  • 查找指定文件夹名称
#在当前目录下查找名称为interfaces.d的文件夹
find . -type d -name  "interfaces.d"

diff与patch工具的使用

diff工具生成补丁

  • 为单个文件生成补丁
#格式
diff -up  [src1]    [src2]  >   patch
  • 为多个文件生成补丁
#格式
diff -uprN  [dir1]  [dir2]  >   patch

patch工具

  • 打补丁
#格式
patch -pn < [patch name]    #pn 表示忽略patch文件中路径的级数
  • 取消补丁
#格式
patch  -RE -pn  < [patch name]