- 博客(23)
- 资源 (1)
- 收藏
- 关注
原创 Linux开发板通过串口与虚拟机Ubuntu通信
一、工具1.Linux开发板;2.串口线;3.虚拟机系统Ubuntu。二、开始通信1.将串口线与电脑连接,打开VMware虚拟机,分配 USB 转串口设备到虚拟机上,具体操作如下图所示:未连接串口线的状态 图1连接串口线的状态图22.打开Ubuntu终端,查看串口设备文件,如果连接成功,可以看到在串口设备文件目录中多出来一个/dev/ttyUSB0的文件...
2019-12-19 19:29:29 1549
原创 Linux开发板通过串口与电脑上位机通信
一、准备工具1.串口助手软件;2.串口线;3.Linux开发板;二、开始通信1.查看Linux开发板串口的配置,如下图1所示:stty -F /dev/ttymxc2图1如果想更改Linux串口波特率配置可进行如下图2设置:stty -F /dev/ttymxc2 ispeed 115200 ospeed 115200图23.使用串口线连接...
2019-12-18 21:03:06 2322 2
原创 (备忘)使用TrueSTUDIO和MDK编译器生成.bin文件
一、使用TrueSTUDIO生成.bin文件找到当前工程的属性设置,在下面输入框里输入以下指令,重新编译程序即可得到.bin文件arm-atollic-eabi-objcopy.exe -O binary ${BuildArtifactFileBaseName}.elf ${BuildArtifactFileBaseName}.bin标题二、使用MDK生成.bin文件...
2019-12-02 14:42:11 457
原创 (一)编写Bootloader程序应该注意的一些问题
一、简介在嵌入式设备中通常有一个、两个或者更多的程序,它们之间相互独立但会瓜分同一个FLASH的存储空间(当然也可能存放在其他可执行的存储设备上),且每一个程序占用的地址是连续的。对于只有一个程序的单片机,上电后会直接被执行,通常被称作应用程序,然而当一个单片机的FLASH中存有多个程序,就必须有一个引导加载程序来引导单片机去执行对应的应用程序,而这个引导程序就是我们常说的BootLoade...
2019-12-02 14:36:37 888
原创 ST系列MCU通过ISP下载程序
一、工具1、ST系列MCU开发板;2、串口线;3、FlashLoader软件。二、操作步骤1、首先用串口线连接开发板的ISP接口和电脑,根据不同的情况开发板的BOOT引脚进行如下配置: BOOT0 BOOT1 下载程序时配置 1 0 运行程序时配置 0 0 因为我们是下载程序,所以就按照下载程序的配置去配置BOOT引脚...
2019-12-01 20:48:09 2405
原创 使用ST-LINK通过SWD接口给ST系列的MCU直接下载.hex文件或者.bin文件
一、工具1、使用ST公司的MCU开发板;2、ST-LINK下载器;3、STM32 ST-LINK Utility软件。二、操作步骤1、没有装该软件的需要从ST官网下载好STM32 ST-LINK Utility软件,该软件的下载地址如下;(下载地址:http://www.st.com/content/st_com/en/products/embedded-software/...
2019-12-01 16:53:29 3969
原创 使用J-Link通过SWD接口直接下载.hex文件和.bin文件到MCU
一、工具1、J-Link下载器;2、与MUC匹配的.hex文件和.bin文件;3、SEGGER软件;4、烧录软件的开发板。二、操作步骤1、首先J-Link下载器需要准确与自己的开发板和电脑连接好,然后给开发板供电;2、找到SEGGER软件安装目录,选择如下图1所示的软件打开(没有安装该软件的可以去官网下载,官网地址:https://www.segger.com/down...
2019-12-01 16:07:38 5989 3
原创 VMware虚拟机网络桥接模式下无法与主机ping通解决办法
一、工具/原料 主机:Windows 10 64位家庭版 虚拟机软件:VMware Workstation 15 Pro 安装的虚拟机:ubuntu18 二、虚拟机设置说明因为我只用到了桥接模式,默认的其它两个我自己删掉了 ,我们只关注图1红色方框的内容设置,默认的配置是自动,我这里指定了和我电脑一样的网卡(图2中是我个人电脑的网卡信息),有兴趣的可以试试自动模式...
2019-11-25 10:21:17 7488 3
原创 FreeRTOS嵌入式实时操系统查看指定任务剩余堆栈大小方法
1.找到FreeRTOSConfig.h配置文件添加宏定义#define INCLUDE_uxTaskGetStackHighWaterMark 12.定义一个变量用来存放剩余堆栈大小值UBaseType_t sizeFree;3.在任务中添加获取剩余堆栈大小的函数该函数有一个参数,传递的是要查看的任务的句柄而非任务名,通过调试或者打印输出即可得到所要查看任务大概剩余...
2019-11-19 10:32:09 2968
原创 HEX文件格式
以*.hex为后缀的文件我们称之为HEX文件。 HEX的英语原始意思是16进制。这种文件格式主要用于保存单片机固件。整个文件以行为单位,每行以冒号开头,内容全部为16进制码,2个ASCII码字符表示1个Hex字节:020000040804EE:10000000A8990020C1010408830B040839080408DA:100010007F0B0408AB020408551...
2019-08-21 17:21:07 2697
原创 堆(heap)和栈(stack)的区别
堆(heap):用于通过malloc之类的函数给变量分配空间,由程序员分配和释放,若程序员不释放,程序结束时可能由系统(OS)回收;栈(stack):用来保存函数返回地址和局部变量,由编译器自动分配和释放。堆和栈的大小要根据用户的具体程序进行合理设置,过小的堆和栈会引起程序执行异常。堆(heap):是向高地址扩展的数据结构,是不连续的内存区域。这是由于系统是用链表来存储的空闲内存地址的...
2019-08-21 16:00:38 387
原创 (三)使用STM32CubeMX创建一个USB+FATFS的TrueSTUDIO环境下的工程
一、准备工具STM32CubeMX软件; TrueSTUDIO软件; STM32F429BI开发板带USB接口一块。二、USB电路图从电路图可以看出,只有两个接口与单片机连接,虽然使用的是单片机的高速引脚,但缺少高速芯片(自行科普),只能拿高速(HS)引脚当全速(FS)引脚用。三、使用STM32CubeMX配置USB及FATFS1.时钟配置我这里使用的是高速外部时钟...
2019-08-21 14:38:44 1475 2
原创 (四)事件-------Qt学习
一、事件介绍事件(event)是由窗口系统或者Qt自身产生的,用以响应所发生的各类事情。当用户按下或者松开键盘或者鼠标上的按键时,就可以产生一个键盘或者鼠标事件;当某个窗口第一次显示的时候,就会产生一个绘制事件,用来告知窗口需要重新绘制它本身,从而使得该窗口可见。大多数事件是作为用户动作响应而产生的,但是也有些例外,比如像定时器事件,则是由系统独立产生的。在使用Qt进行编程开发时,基本不需...
2019-08-11 16:08:54 207
原创 链表
一、链表数据结构typedef struct student{ int score; struct student *next;}LinkList;二、创建链表/* 创建n个节点的链表 */LinkList *creat(int n){ int i; LinkList *head; /* 头节点 */ LinkList ...
2019-07-11 14:36:50 135
原创 (一)使用KDS编译环境新建一个裸机工程和FreeRTOS工程
一、概述Kinetis®Design Studio (KDS)是一种附送的Kinetis MCU集成开发环境,为您的设计提供强大的编辑、编译和调试功能。Kinetis Design Studio IDE基于包括Eclipse、GNU编译器套装(GCC)、GNU调试器(GDB)等免费开源软件,为设计人员提供了一种不限制代码大小的简单开发工具。此外,Processor Expert®软件支持您利...
2019-06-11 16:44:27 1725
转载 (一)Modbus 简明介绍
声明:该资源从安富莱论坛摘录1.Modbus简介——来自维基百科Modbus是一种串行通信协议,是Modicon于1979年,为使用可编程逻辑控制器(PLC)而发表的。MODBUS是工业领域通信协议的业界标准,并且现在是工业电子设备之间相当常用的连接方式。Modbus比其他通信协议使用的更广泛的主要原因有:1.公开发表并且无版税要求2.相对容易的工业网络部署3.对供应商来说,修改移动原生的位元...
2019-05-22 19:19:34 1564
原创 (二)使用TrueSTUDIO编译环境在STM32上移植FreeRTOS系统
一、准备工作使用TrueSTUDIO建立一个裸机工程 准备一个FreeRTOS源码包(我用的是FreeRTOSV8.2.3)二、开始移植首先在裸机工程Project_3目录中建立一个Middlewares文件夹存放FreeRTOS源码,如下图一所示。图一接下来对源码进行取舍,需要删减的文件存放在portable文件夹中,如下图二所示,只保留GCC和MemMang文件夹。...
2019-02-23 16:43:21 1697 4
原创 (一)使用TrueSTUDIO软件新建一个基于STM32标准库工程
一、TrueSTUDIO说明不管是还在学习的还是已经工作的应该都很熟悉Keil和IAR这两款用来开发嵌入式的软件,在国内普遍用的这两款编译软件都是破解版的,并没有经过正规渠道授权注册,这就导致了在开发中总会显得小心翼翼,特别是在用于盈利为目的使用的时候会使个人或者公司存在着被调查的风险。为此很多人都希望有一款免费的编译软件来用来嵌入式开发,毕竟正版的Keil和IAR还是很贵的。这里我为大家...
2019-02-23 14:37:49 9901 5
原创 (一)AC6(System Workbench for STM32)简单介绍及创建一个简单的STM32的工程
一、说明 相信玩过STM32的同志都很熟悉KEIL(包括keil4ARM版本和keil5)和IAR编译器,受网上各种开源程序及教学的影响其中使用KEIL的居多;本人起初也是使用keil编译器的,但由于keil和IAR这两款编译器并不是免费的,当开始工作后,就被迫开始换免费的编译器了。在ST官网上可以找到好几款免费的开发STM32的编译器,这里只说支持STM32系列MUC的编译...
2019-02-17 14:42:37 8378 1
原创 单片机编程中常用到的几种关键词
一、#define二、#ifndef ... #define ... #end #ifdef ... #end #if ... #elseif ... #endif三、typedef四、extern五、enum方法1:enum weekday{ sun, mou, tue, wed, thu, fri, ...
2018-07-11 10:32:33 2731
原创 单片机中常见的几种存储器及作用
单片机的存储器主要分ROM(Read Only Memory,只读存储器)和RAM(Random Access Memory,随机存储器)。(注:这里为了简洁把FLASH也纳入ROM中,其作用类似)一、ROM单片机只能从这里读取数据而不能写;在单片机中可称作程序存储器,可以用来存储单片机程序的存储设备,断电后不会存储的数据不会丢失。二、RAM单片机可以从这里进行读和写,存储的数据会在断电后丢失。...
2018-07-04 10:24:33 7837 1
原创 (三)信号与槽-------Qt学习
一、简介信号槽是 Qt 框架引以为豪的机制之一。所谓信号槽,实际就是观察者模式。当某个事件发生之后,比如,按钮检测到自己被点击了一下,它就会发出一个信号(signal)。这种发出是没有目的的,类似广播。如果有对象对这个信号感兴趣,它就会使用连接(connect)函数,意思是,将想要处理的信号和自己的一个函数(称为槽(slot))绑定来处理这个信号。也就是说,当信号发出时,被连接的槽函数会自动被...
2018-05-19 13:33:44 222
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人