tag 标签: m4

相关博文
  • 热度 23
    2015-1-16 10:06
    1611 次阅读|
    0 个评论
             本人使用 keil 5 有一段时间了,发现 keil 5 真考虑周到,里面驱动库也帮你准备好了。这个新功能可以节省我们的时间,也可以让初学者能尽快上手和掌握这个芯片。大家以后既就可以很方便的建自己的工程模板了,再也不会为了找芯片的驱动库而烦恼。          今天外我来教大家来怎么使用这个建工程的利器吧。 首先是新建工程吧,如下图步骤:   因为我用的是 stm32f401 Necleo ,所以芯片型号应该要选择 stm32f401te, 选好芯片类型后,会弹出一个大的面板,如下图: 红色框里的都是一些集成在 keil 5 的启动文件, arm 内核的文件, st 公司的库函数和一些 API 等等。一个工程最起码也要选上 core 和 startup 两个选项,如下图: 然后选择 OK ,就建好了空白的工程。然后就要对工程做一些设置,如下图: 然后在你工程的路径新建一个 USE (这个大家可以随便建个文件,不一定是 USE 名字的)的文件夹,然后在里面新建一个 main.c 的文件,如下图: 然后新建的文件 main.c 添加到工程当中,步骤如下: 然后在 main.c 文件中添加如下代码: 到这里我们的空白工程建好了,后面我来教大家怎样加 keil 5 里自带的 st 库。首先我点击那个绿色的小图标,如下图:   点击后会弹出一个大的页面,然后找到 Device-StdPeriph Drivers 。如下图: 点开 StdPeriph Drivers 选项的加号图标,就可以看到 st 库目录下各外设的驱动文件,后面是他的版本说明,这是 V1.3 版本的,是比较新的,建议大家尽量使用新的库。 我这里就勾上了所有外设的驱动的文件,如下图: 然后点击 OK 后,就可以看到原先工程目录下的 Device 添加了刚才选择外设的驱动文件。添加完后大家不要急着编译工程,还有对工程进行相关的配置,否则如下图,编译不成功的: 接下来,我来配置下工程,右击 target ,然后进入配置工程的面板,步骤如下: 这里要填上 USE_STDPERIPH_DRIVER ,这就表明编译器选择了 st 的 库   然后我们来指定编译器头文件的路径         以上这两个路径是编译器编译时要找的路径,这几个头文件至关重要,这里编译器关联头文件所需要的。 当做完以上工作后,我们就可以来编译一下工程,在编译时,编译器就会根据我们的配置来编译驱动头文件和驱动的 C 文件。如下图: 当编译成功后会出现以下的信息:   下面我们要看看新的 stm32f4xx_conf.h 里的内容吧,如下图: 可以看出这跟旧版本的 stm32f4xx_conf.h 文件有些区别,在每个头文件这里多了个条件编译, 大家可以理解成开关吧,就是用来选择编译头文件用的,而这些开关都在 RTE_Components.h 这个头文件里,如下图: 编译完成后,可以看出 main.c 里包含了各驱动库的头文件,如下图: 做完以上工作后,我们就建好了一个基于库函数的模板了。 当大家编译完工程后,会发现工程目录里多出了好多文件,这是正常的,这是编译后产生的文件,如下图: 先把原来的产生的文件删除掉,删除后如下图:   现在我教大家怎样把这些文件指定每次编译后生成在指定的地方。 步骤如下: 首先还是进入工程配置的选项面板,然后在自己的工程目录里新建一个 Output 的文件,然后点击去,再点击 OK ,这样就代表告诉编译器器每次编译后生成的文件都会放在这个文件夹里。 这个跟上面的一样配置。 做好这些工作后,就可以编译工程了,编译完后生成的文件会保存在自己指定的那两个文件,如下图:     这样工程目录下的结构就清爽多了。    
  • 热度 204
    2015-1-16 10:06
    1372 次阅读|
    0 个评论
        本人 研究 SAM4L Xplained Pro starter kit 的库,发现官方的库好庞大,但如果调用官方的 API 函数,上手比较快。往后我会发布一些深入到寄存器的操作和自己建工程模板的例程。现在先易后难。我先刚修改官方的 GPIO 例程,把套件上的 LED 先点亮。用到的函数不多。现在直奔主题吧。 我这次使用的开发环境是 IAR 6.7 ,没有这个编译器的伙伴们,可以带官网下载,记住要下载 ARM 版本的,这个原因我就不多说了,前面我也有说到。 官方的库比较庞大,那么我们怎么利用库来快速上手呢。 首先我打开工程时的目录结构如下图: 我们的 main 函数,实现功能的 c 文件在如下图的画着黄色方框的位置: 点开这个 gpio_example.c 的文件,然后我们就可以来修改这个例程了。 首先我把例程除了 sysclk_init(); 函数之外的都屏蔽掉了。然后我们自己就可以自己添加 API 函数实现相应的功能了。这次我实现的功能是点亮板上的 LED 。在点亮 LED 是我们需要用到两个函数: ioport_set_pin_dir(xx,xx); ioport_set_pin_level(xx,xx); ioport_set_pin_dir(xx,xx); 这个函数的功能一看名字就大概知道是干啥的了,就是设置某一个管脚的方向, xx 是要填进去的参数,这些函数都是带参数的,有传入一个形参进去的,如果玩过 st 的 stm32 库的小伙伴就会很熟悉了。第一个参数填的的某一个管脚。第二个参数是管脚的方向。如: ioport_set_pin_dir(PIN_PC07, IOPORT_DIR_OUTPUT); 就是把 PORTC 的第 7 个脚设置位输出。 PIN_PC07 可以在 pio_sam4lc4c.h 这个头文件找到定义,如下图: 第二个参数是管脚的方向,他有两个参数: 填 IOPORT_DIR_INPUT 是代表输入,填 IOPORT_DIR_OUTPUT 是代表输出。 其他管脚的初始化方向也是这样做的。 初始化管脚函数的底层函数是。我把他贴上来吧: 其实就是对 ODER , STER 这两个寄存器的操作。如果想设置输出,就对寄存器 ODER 置一,对 STER 清零,像 GPIO_ODERX , X 等于 S 时是代表置一, X 等于 C 时代表清零。这个可以手册可以知道,如图: ioport_set_pin_level(xx, xx); 这个函数是设置某个 IO 口的电平状态。 同样这个函数也是带两个参数输入的。 第一个参数是选择管脚,第二个参数是设置 IO 口的电平状态。如: ioport_set_pin_level(PIN_PC07, IOPORT_PIN_LEVEL_LOW); 就是设置 PORTC 的第 7 个脚低电平。 在主函数我添加了 3 个函数,就可以实现点亮 LED 的功能了。因为 LED 是接 PORTC07 脚的,从评估板的原理图可以看到,如下图: 代码如下: int main(void) {     /* Initialize the SAM system */     sysclk_init();       ioport_set_pin_dir(PIN_PC07, IOPORT_DIR_OUTPUT);     ioport_set_pin_level(PIN_PC07, IOPORT_PIN_LEVEL_LOW);               while (1) {             } } 下面,贴上测试图: 黄色的灯点亮了
  • 热度 19
    2015-1-16 10:06
    1245 次阅读|
    2 个评论
            Atmel 的 SAM4L-Xplained-Pro 套件的 MCU 是 cortex-m4 核,那么 IAR 肯定支持这款套件。于是我今天就那 IAR 演示了一个 GPIO 的例程。 关于 IAR 的版本,最好要比较新的,推荐用 7.3 版本的,这样会对这款的套件支持得教好,还有注意的一点是,大家下载 IAR 时,要选 ARM 版本的,因为每种不同的芯片的 IAR 是不同的,如有 IAR for 430 , IAR for stm8 等等。 这是我电脑上 IAR 的版本,如图: 关于 IAR 的例程,大家可以进去这个链接里下载: http://www.atmel.com/tools/AVRSOFTWAREFRAMEWORK.aspx 就是下这个 Atmel Software Framework 3.19 的压缩包就可以了。 这个例程支持多种型号和套件的。我们的 SAM4L-Xplained-Pro 套件的例程的所在位置如下图: 把 GPIO 的打开后的后,我来说说 IAR 要注意的地方吧,在顶端,画着红色方框的位置是你打开以下文件的历史,如果嫌文件打开得很多,可以在某个文件上右击,可以选择单个文件关闭或者全部关掉。   还有在 IAR 编译器的最右方,也可以查看你以前打开过的文件的历史。             关于 IAR 的使用,我就简单说说吧。     图上画着红色框的是编译按钮,第一个是所在文件的编译,第二个是整个工程编译,一般我们是用第二个按钮的。画着黄色框的是下载并仿真的按钮。点击它就可以对板子进行硬件仿真并下载程序,前提是你要有仿真器。画着绿色框的仿真不下载,这个只是仿真,程序不会吓到单片机里的。 接下来,要注意的是编译器的仿真器的选择,仿真器的选择如下图: 当点击仿真时,编译器会切换到仿真的界面,如下图: 画这红色方框的功能按钮,我就不多说了,跟其他的编译器也是大同小异的。 这个例程的功能是一上电,板子的串口会向电脑打印一些相关的信息,然后可以通过按下板子上的 SWO 键可以控制 LED0 的亮灭。 上电时打印信息如下图: 大家要注意的是例程串口的波特率是设置位 115200 的,管脚是 PORTC26 和 PORTC27 ,如下图: 在例程的 init.c 的文件里还有很多外设的初始化,大家可以通过在 conf_board.h 文件宏定义一个 #if defined (XXXXXXX) 括号里的参数就可以了,就如例程里初识化串口,如下图: 还有一个使用频率很高的功能,就是查找 XXX 定义的来源,当你想查某个变量或者这个函数是出自于哪里,可以使用这个功能,具体操作方法是把鼠标停在你想查看的函数中,然后右击鼠标,选择如 板子的串口接线如下图:  
  • 热度 22
    2015-1-16 10:05
    1150 次阅读|
    0 个评论
        当今能源紧缺的背景下,低功耗就显得尤为重要。今天用到了 SAM4L Xplained Pro starter kit 套件的 Segment LCD1 Xplained Pro 首先普及一下什么是段码液晶吧:          段码液晶,或段式液晶屏,是液晶产品中的一种,但在液晶行业内,一般称为图案型液晶屏,笔段式液晶屏,单色液晶屏等等。        段码液晶叫法起源于早期液晶显示屏开始应用之时,主要是替代 LED 数码管(由 7 个笔段组成,用于显示数字 0 ~ 9 ),如计算器、钟表等,显示内容均为数字,也较简单。   用途 仪器、仪表:煤气表、水表、公交系统、加油机计数 显示屏 办公设备:传真机、打卡机、考勤机、门禁系统 通讯设备:各种 IC 卡电话、网络电话、 IP 电话 银行系统: POS 机 税务系统:税控机 医疗设备:生理监护仪及各类保健器械 工控设备:自动化控制 各种人机界面 , 手持设备等   可以看出段码液晶的用途还挺多的,而 Segment LCD1 Xplained Pro 功耗比较低,只有 40ma 如下图接上官方编译器是出现的信息:   Segment LCD1 Xplained Pro 能显示数字 0~9 ,还有几个符号,如官方提供的符号如下图: 接口对应的定义 官方 Segment LCD1 Xplained Pro 模块详细信息: 我现在用的官方例程跑跑个演示: 使用的编译环境是官方的 Atmel Studio 。 程序首先是系统时钟初始化,调用 sysclk_init(); 函数 然后是板级初始化,调用 bord_init(); 函数 接着是配置串口,调用前面的 configure_console(); 函数。 程序执行完这些后,单片机的串口就会向电脑上打印一些信息,如下图: 然后串口就会一直等待用户输入信息: 当我们用串口发送 c 字符时,就会执行清屏操作; 当我们用串口发送 h 字符时,就会执行显示操作; 当我们用串口发送 1 字符时,就会执行显示 1 到 6 的数字; 当我们用串口发送 2 字符时,就会执行显示 10:23 这个时间效果; 当我们用串口发送 3 字符时,就会执行显示文本滚动的效果; 大家要注意的是 PC 发送和接受都选择文本类型。 如下图: 输入 h 字符是   输入 c 字符: 输入 1 字符 输入 2 字符 输入 2 字符:   Segment LCD1 Xplained Pro 扩展模块显示还是很赞滴。  
  • 热度 19
    2013-3-22 09:45
    1911 次阅读|
    2 个评论
    5M4 pi型 穿心电容 一、 标称容量Capacitance : 1000pF X 2   电感容量Ferrite Inductance :typical 1.7μH ±20%   电容公差Capacitance Tolerance :+20%,-20%   滤波电路Circuit :Pi   二、工作电流Rated Current :10A   三、工作电压Working Voltage :200VDC   四、耐电压Dielectric Withstanding Voltage:600VDC   五、绝缘电阻Insulation Resistance:10000M Ohms   六、耗散因数Dissipation Factor: 3.0%   七、安装方式 Installation:螺纹式 Screw   八、螺纹直径公制Thread Size : 5M4 * 0.7mm   九、型号Part Number:1000pF RTF-76-006-5M4X 0.7 PI   十、插入损耗Insertion Loss: CKT Min Minimum Insertion Loss(dB) Cap         1MHz 10MHz 100MHz 300MHz 1GHz 10GHz Pi 1000pF 8       12          50           60           70     70        RTF-76-006  
相关资源
  • 所需E币: 0
    时间: 2023-7-29 17:26
    大小: 350.94KB
    上传者: Argent
    《十天学会LM4F232,玩转CORTEXM4》ADC内部温度
  • 所需E币: 0
    时间: 2023-7-29 17:26
    大小: 551.77KB
    上传者: Argent
    《十天学会LM4F232,玩转CORTEXM4》定时器
  • 所需E币: 1
    时间: 2023-7-1 20:15
    大小: 61.3MB
    上传者: Argent
    【正点原子】STM32MP1M4裸机CubeIDE开发指南V1.5.2
  • 所需E币: 1
    时间: 2023-7-1 20:17
    大小: 49.27MB
    上传者: Argent
    【正点原子】STM32MP1M4裸机HAL库开发指南V1.2.2
  • 所需E币: 0
    时间: 2022-3-26 02:13
    大小: 136KB
    上传者: 东亚安防
    产品特点‘本产品选用美国PIC单片机设计,抗干扰性极强,配合优化的控制软件,使本产品从不死机。完全取代云台原控制板,实现电机控制及云台自动功能。将限位开关由原来的控制电机,改为控制继电器线圈,大大降低了限位开关的电压和电流,从而延长限位开关的使用寿命。极好的协议适应性:对国内大多数常用协议,均能自动识别;特殊协议,如曼码等,可通过DIP开关设置。超小内置板尺寸(66mm*78mm),更能满足大多数6”云台。具备云台、镜头输出超时保护功能:解码器在执行云台、镜头命令后,限定时间内(云台60秒,镜头10秒)未收到相应的停止命令,云台、镜头输出自动关断。微动功能(适用SYYT协议):在长焦状态下,使用常规命令,云台及镜头很难准确定位,而本解码板可接收控制设备发出的微动命令,执行微动操作,实现云台、镜头的精确定位。
  • 所需E币: 0
    时间: 2020-9-18 11:02
    大小: 6.05MB
    上传者: czd886
    三天入门M4——Kinetis(V2.2)
  • 所需E币: 2
    时间: 2020-2-24 12:17
    大小: 139.26MB
    上传者: 星空下的屋顶
    ARMCortexM3andM4权威指南.pdf