自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

lbd321的博客

人前显贵需人后受罪!

原创 系统调用与库函数的区别?

一. 概念 系统调用(英语:system call),指运行在用户空间的应用程序向操作系统内核请求某些服务的调用过程。 系统调用提供了用户程序与操作系统之间的接口。一般来说,系统调用都在内核态执行。由于系统调用不考虑平台差异性,由内核直接提供,因而移植性较差(几乎无移植性)。 库函数(...

2017-08-07 20:50:35

阅读数 255

评论数 0

原创 为什么ARM的启动代码是汇编?

启动代码 为什么启动代码一定一要用汇编语言编写,启动代码的主要功能是什么?单片机不用启动代码,为什么arm要用启动代码? ------解决方案-------------------------------------------------------- 最开始的几行代码要完成初始化中断...

2017-08-06 22:33:03

阅读数 699

评论数 0

原创 C#中修改exe图标

第一步选Release 第二部右击工程名点击属性 第三部去网上下载ico格式的图片 第四部:重新生成工程 在工程文件夹obj中即可找到带图标的exe

2017-08-06 22:27:17

阅读数 656

评论数 0

原创 C#中获取系统时间的一种方法

//获取当前电脑时间 ClockFunction[3] = Convert.ToByte(DateTime.Now.Year % 100); ClockFunction[4] = Convert.ToByte(DateTime.Now.Month); ClockFunction[5] = Conv...

2017-08-06 10:58:29

阅读数 319

评论数 0

原创 C#中如何获取numericUpDown中的数字

AlbumFunction[4] = Convert.ToByte(numericUpDown10.Value);//将框中的值转换为byte AlbumFunction数组为byte类型,用上述方法就可以获取上下拉框的值。

2017-08-06 10:29:41

阅读数 2376

评论数 0

原创 UART、SPI、IIC

1、UART, SPI, IIC的详解 UART、SPI、IIC是经常用到的几个数据传输标准,下面分别总结一下: UART(Universal Asynchronous Receive Transmitter):也就是我们经常所说的串口,基本都用于调试。 主机和从机至少要接三根线...

2017-08-04 15:31:59

阅读数 371

评论数 0

原创 51单片机中断

一、中断的概念 CPU在处理某一事件A时,发生了另一事件B请求CPU迅速去处理(中断发生); CPU暂时中断当前的工作,转去处理事件B(中断响应和中断服务); 待CPU将事件B处理完毕后,再回到原来事件A被中断的地方继续处理事件A(中断返回),这一过程称为中断 二、中断源 在51单片机中...

2017-08-04 15:27:24

阅读数 310

评论数 0

原创 51单片机定时器

sTC单片机定时器的使用可以说非常简单,只要掌握原理,有一点的C语言基础就行了。要点有以下几个:   1.      一定要知道英文缩写的原形,这样寄存器的名字就不用记了。 理解是最好的记忆方法。好的教材一定会给出所有英文缩写的原形。 2.      尽量用形像的方法记忆。 比如TCON和TMOD...

2017-08-04 15:01:12

阅读数 450

评论数 0

原创 聊天室项目问题

1.  makefile的作用:     makefile关系到了整个工程的编译规则。一个工程中的源文件不计数,其按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为mak...

2017-08-04 14:45:50

阅读数 222

评论数 0

原创 关键字volatile有什么含义?并给出三个不同的例子。

一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。下面是volatile变量的几个例子:   1). 并行设备的硬件寄存器(如:状态寄...

2017-08-02 15:44:45

阅读数 1376

评论数 0

原创 友善之臂S3C2451开发板如何用MiniTools下载裸机程序

一开始开发板接在电脑上minitools是检测不到的,因为电脑里没有对应的驱动。解决方法就是下载驱动精灵,安装好。 开发板开机按k1键进入类似bios的界面,然后打开驱动精灵开始检测驱动,安装一个Android驱动即可。

2017-07-30 10:56:00

阅读数 323

评论数 0

原创 重载(overload)和重写(overied,有的书也叫作“覆盖”)的区别?

从定义上来说:   重载:是指允许存在多个同名函数,而这些函数的参数表不同(或许参数个数不同,或许参数类型不同,或许两者都不同)。   重写:是指子类重新定义父类虚函数的方法。 1.重载:重载从overload翻译过来,是指同一可访问区内被声明的几个具有不同参数列(参数的类型...

2017-07-26 09:33:58

阅读数 316

评论数 0

原创 简述static关键字的作用?(备注:在什么条件下使用static修饰局部变量、全局变量、函数)

static关键字至少有下列n个作用: (1)设置变量的存储域,函数体内static变量的作用范围为该函数体,不同于auto变量,该变量的内存只被分配一次,因此其值在下次调用时仍维持上次的值; (2)限制变量的作用域,在模块内的static全局变量可以被模块内所用函数访问,但不能被...

2017-07-26 09:28:10

阅读数 567

评论数 0

原创 笔试题2/5如何查看进程的信息(线程数)?

三种方法: 1。 使用top命令,具体用法是 top -H         加上这个选项,top的每一行就不是显示一个进程,而是一个线程。 2。 使用ps命令,具体用法是 ps -xH         这样可以查看所有存在的线程,也可以使用grep作进一步的过滤。 3...

2017-07-26 09:24:50

阅读数 128

评论数 0

原创 Nandflash和Norflash的区别简介

(1)、接口差别: NOR型Flash采用的SRAM接口,提供足够的地址引脚来寻址,可以很容易的存取其片内的每一个字节;NAND型Flash使用复杂的I/O口来串行的存取数据,各个产品或厂商的方法可能各不相同,通常是采用8个I/O引脚来传送控制、地址、数据信息。 (2)、读写的基本...

2017-07-25 20:33:39

阅读数 255

评论数 0

原创 第一章面试题整理

一、C++域操作符的使用 #include "stdio.h" #include "windows.h" int value = 0;   //初始化全局变量 void printvalue() {     printf("va...

2017-07-16 19:05:48

阅读数 124

评论数 0

原创 1、Qt winget基础

windows-get  winget  获得窗口 QColorDialog         颜色对话框 QFontDialog          文本对话框 QTcpSocket            QUdpSocket QString Qt支持平台Windows2000以上版...

2017-07-16 09:26:17

阅读数 138

评论数 0

原创 5、速度PID控制

1、速度闭环控制就是根据单位时间获取的脉冲数(这里使用了M法测速)测量电机的速度信息,并与目标值进行比较,得到控制偏差,然后通过对偏差的比例、积分、微分控制,使偏差趋向于零的过程。 2、根据增量离散PID公式   PWM+=Kp[e(k)-e(k-1)]+Ki*e(k)+Kd[e(k)...

2017-07-14 15:39:50

阅读数 1062

评论数 0

原创 4、位置PID参数整定

1、控制目标     ·稳定性     ·快速性     ·准确性 2、关于P、I、D三个参数的主要作用,可以大致又不完全地概括为:      P用于提高响应速度、I用于减小静差、D用于抑制震荡。

2017-07-14 15:39:05

阅读数 351

评论数 0

原创 3、位置PID基础

1、位置闭环控制就是根据编码器的脉冲累加测量电机的位置信息,并与目标值进行比较,得到控制偏差,     然后通过对偏差的比例、积分、微分控制进行控制,使偏差趋向于零的过程。 2、位置式离散PID公式     PWM = Kp*e(k)+Ki*∑e(k)+Kd[e(k)-e(k-1)]...

2017-07-14 15:13:34

阅读数 281

评论数 0

原创 2、PID基础知识

1、PID调节器出现于上世纪30年代    所谓PID控制,就是对偏差进行比例、积分、和微分的值。   PID有3个单元组成,分别是比例(P)单元、积分(I)单元、微分(D)单元。   在工作实践中,一般P是必须的,所以衍生出许多组合的PID控制器,如PD   、PI、PID等 ...

2017-07-14 15:11:59

阅读数 379

评论数 0

原创 1、编码器的简单认识

编码器是一种将角位移或者角速度转换成一连串电数字脉冲的旋转式传感器          ·测量位置(倒立摆) ·测量速度(平衡小车) ·光电编码器(光学式) ·霍尔编码器(磁式)

2017-07-14 15:11:06

阅读数 306

评论数 0

原创 4.4、数组与指针

1、数组是一段连续的内存空间 2、数组的空间大小为sizeof(array_type) * array_size 3、数组名可以看做指向数组第一个元素的常量指针 4、指针的运算     ·指针是一种特殊的变量,与整数的运算规则为         p + n;(unsigned...

2017-07-08 20:43:17

阅读数 143

评论数 0

原创 S3C2451-GPIO

1、每组GPIO(GPA-GPM),通过3个寄存器来控制与访问      ·GPxCON:GPIO配置寄存器      ·GPxDAT:GPIO数据寄存器      ·GPxUDP:上下拉电阻控制寄存器      ·GPxSEL:功能选择寄存器      其中x为(A、B、C....、M...

2017-07-08 10:46:30

阅读数 161

评论数 0

原创 warning: #61-D: integer operation result is out of range

STM32程序编译出现以下问题的解决方法: //IO方向设置  #define SDA_IN()  {GPIOC->CRH&=0X0FFFFFFF;GPIOC->CRH|=8 #define SDA_OUT() {GPIOC->CRH&=0X0FFFFFFF...

2017-06-19 12:21:23

阅读数 4028

评论数 0

原创 STM32 DMA的特性

STM32的DMA特性:    ·每个通道都直接连接专用的硬件DMA请求,每个通道都同样支持软件触发。这些功能通多软件来配置。    ·在七个请求间的优先权可以通过软件编程设置(共有四级:很高、高、中等和低),假如在相等优先权        时由硬件决定(请求0优先于请求1,以此类推)。 ...

2017-06-10 21:42:51

阅读数 274

评论数 0

原创 FreeRTOS静态任务创建与删除

//空闲任务任务堆栈 static StackType_t IdleTaskStack[configMINIMAL_STACK_SIZE]; //空闲任务控制块 static StaticTask_t IdleTaskTCB; //空闲任务API函数 void vApplicationG...

2017-06-08 16:45:01

阅读数 363

评论数 0

原创 FreeRTOS动态创建任务和删除任务

#define Start_Stack_Size 120    //任务堆栈大小 #define Start_Task_Prio  1      //任务优先级       0和31分别是空闲任务和软件定时器优先级,用户不能用 TaskHandle_t Start_Task_Handle; /...

2017-06-08 16:41:07

阅读数 826

评论数 0

原创 STM32DAC的特点

STM32的DAC模块主要特点有:     1、2个DAC转换器:每个转换器对应1个输出通道     2、8位或者12位单调输出     3、12位模式下数据左对齐或者右对齐     4、同步更新功能     5、噪声波形生成     6、三角波形生成     7、双DAC通道同时或...

2017-06-08 16:39:01

阅读数 650

评论数 0

原创 STM32F10x ADC基本原理简介

1、STM32F10x ADC特点         ·12位逐次逼近型的模拟数字转换器。         ·最多带3个ADC控制器         ·最多支持18个通道,可最多测量16个外部和2个内部信号源。         ·支持单次和连续转换模式         ·转换结束,注入转换...

2017-06-04 09:52:58

阅读数 1022

评论数 0

原创 FreeRTOS任务基础知识总结

1、单任务系统-前后台系统:中断服务函数为前台程序,大循环while(1)作为后台程序。       前后台系统的实时性差,但是前后台系统简单,资源消耗少。        2、FreeRTOS是一种抢占式的实时多任务系统,其任务调度器也是抢占式的。 3、高优先级的任务可以打断低优先级任...

2017-06-03 23:30:24

阅读数 556

评论数 0

原创 JLINK仿真器用SWD模式下载/调试只需三根线

stm32上的jlink接口有20个,然而并不是所有的接口都是必须的,在网上找了一些资料,想用杜邦线连接stm32和jlink仿真器,因为排线实在难插拔。 试了一下只需三根线就可以下载和调试,分别是1、7、9三根线。下面附图:(20脚实际上可以不接,但是VCC一定要接,不然下载会报错)

2017-05-29 23:45:28

阅读数 7077

评论数 0

原创 基于STM32wifi小车制作(五)-基本完工

小车的硬件组装已经基本完成,软件调了一天也成功了。 遇到的问题有: 1、OLED显示初始化应该放在GPIO初始化和中断初始化后面,不然程序无法正常启动 2、距离显示和中断一起执行的问题,困扰了一天,最终把中断要执行的程序比如前进、后退、舵机等这些功能放到串口中断服务函数中,在主函数中执行...

2017-05-26 23:52:15

阅读数 2959

评论数 3

原创 基于STM32wifi小车制作(四)

今天把底盘和电路板组装到一起,车差不多做好了。 遇到的问题有:    1、继电器模块失灵,先前是3.3V供电,电压不够,改成5V供电,问题解决。    2、路由器模块一开始用的7805稳压供电,测试结果小车一控制就掉电,电源电压降得比较厉害,然后用四节五号电池单独供电就好了。    3、拆...

2017-05-25 23:44:44

阅读数 2113

评论数 0

原创 基于STM32wifi小车制作(三)

这次还是硬件电路的焊接,增加了OLED接口,舵机接口,超声波模块接口,还有LED灯珠和继电器连接接口。 需要注意的是:    1、舵机采用的是9G舵机,为了防止出现舵机抖动,在信号脚焊了一个4.7K的上拉电阻。    2、舵机供电采用5V供电稳定,如果用3.3V就会造成供电不稳,出现抖动。 ...

2017-05-24 23:51:06

阅读数 2698

评论数 2

原创 基于STM32wifi小车制作(二)-电源设计

小车的电源采用三节18650串联的方式供电,电压为12V,并联一个数码管电压表显示,再用7805稳压到5V,用排针引出5V接口,给后期的模块供电。         本次项目采用的stm32芯片,这个芯片的工作电压是3.3V,这里用了降压模块,主要是为了省钱,用已有的模块,还可以用LM1117T芯...

2017-05-23 21:21:04

阅读数 1172

评论数 0

原创 基于STM32F103WIFI视频小车制作(一)

制作小车的器件都买好了,包括stm32核心板,电机驱动模块,稳压模块等等。 总体硬件布局是这样的:核心板+底板 模块用胶沾到洞洞板上,各种接口用排针引出来,用标签贴好标识。 下面是一些模块图片:

2017-05-21 10:52:08

阅读数 1866

评论数 0

原创 正点原子2.8寸TFTLCD接到stm32f103zet6最小系统板上显示失败解决方法

最近学了一下stm32TFFLCD显示,突发奇想,把它接到最小系统板上,按照电路图接好了之后,程序也是下载的原子的,结果就显示背光,不显示字。 搞了两天终于发现复位引脚没接,开发板上的复位和其他外设都是接在一起的,复位引脚是25号,最小系统上没有复位引脚引出来,我就照着电路图焊个引脚出来, 效...

2017-05-19 11:28:25

阅读数 5294

评论数 31

原创 J-Link在线调试stm32开发板,无需多次下载,实现仿真

今天在淘宝买的JLINK仿真器到手了,试了一下,东西是好的,毕竟一分价钱一分货。 然后一直有个疑问就是仿真是仿真用的,目的就是减少FLASH的擦写次数,延长单片机的寿命,而 每次用JLINL仿真,在MDK里一直是下载后仿真,这和每次烧写程序没有区别呀? 查了十几分钟发现MDK配置不对,改好之后...

2017-05-16 23:28:47

阅读数 6180

评论数 2

原创 STM32 USMART调试组件

1、USMART是由ALIENTEK开发的一个灵巧的串口调试交互组件,通过它你可以通过串口助手调用     程序里的任何函数,并执行。因此,你可以随意更改函数的输入参数(支持数字(10/16进制)、字符串       、函数入口地址等作为参数),单个函数最多支持10个输入参数,并支持函数返回值...

2017-05-15 23:09:39

阅读数 440

评论数 0

提示
确定要删除当前文章?
取消 删除