STM32实战经验
weixin_42976659
这个作者很懒,什么都没留下…
展开
-
C 语言跳转表的实现及在嵌入式设备中的应用
跳转表的概念引用笔者在 Wikipedia 上看到的关于跳转表的概念,In computer programming, a branch table or jump table is a method of transferring program control (branching) to another part of a program (or a different program ...原创 2020-04-26 16:58:06 · 1023 阅读 · 0 评论 -
WebAssembly多线程支持的内部原理
这篇博文探讨了 WebAssembly 支持多线程的内部机制与新的指令集,并介绍了这一功能如何为多线程应用程序提供支持。几年前 WebAssembly 刚刚发布时还是一个 MVP(最小可行产品),只有很少的一组功能来提供基本的可用性和实用性。彼时这个 MVP 缺少一个重要特性,就是多线程支持。而如今 WebAssembly 的多线程支持已经非常成熟了,可在工具和 Chrome 中使用。这篇博文...原创 2020-04-02 17:05:59 · 1766 阅读 · 0 评论 -
超级炫酷的C语言技巧!
C语言常常让人觉得它所能表达的东西非常有限。它不具有类似第一级函数和模式匹配这样的高级功能。但是C非常简单,并且仍然有一些非常有用的语法技巧和功能,只是没有多少人知道罢了。一指定的初始化很多人都知道像这样来静态地初始化数组:int fibs[] = {1, 1, 2, 3, 5};C99标准实际上支持一种更为直观简单的方式来初始化各种不同的集合类数据(如:结构体,联合体和数组)。二数...原创 2019-10-28 17:17:19 · 1477 阅读 · 0 评论 -
嵌入式C语言编程小知识总结
流水线被指令填满时才能发挥最大效能,即每时钟周期完成一条指令的执行(仅指单周期指令)。如果程序发生跳转,流水线会被清空,这将需要几个时钟才能使流水线再次填满。因此,尽量少的使用跳转指令可以提高程序执行效率,解决发案就是尽量使用指令的“条件执行”功能。在LPC2200系列中:可以通过过下面的程序延迟10毫秒:for(i=0;i<200;i++){for(j=0;j<...原创 2019-10-28 17:15:45 · 614 阅读 · 0 评论 -
C语言的高级技巧
c语言是一门古老的语言,可以看下下面的C语言的介绍:1969-1973年在美国电话电报公司(AT&T)贝尔实验室开始了C语言的最初研发。根据C语言的发明者丹尼斯·里奇 (Dennis Ritchie) 说,C 语言最重要的研发时期是在1972年。说明:丹尼斯·里奇(Dennis Ritchie),C语言之父,UNIX之父。1978年与布莱恩·科尔尼干(Brian Kernighan)一...原创 2019-10-28 17:13:29 · 875 阅读 · 0 评论 -
C语言编程的七个必备步骤
C是一种编译性语言。如果你以前从来没有接触过任何的编程语言,那么你则需要学习一下一个拆分的逻辑思维。当我们想要写一个项目或者软件的时候,我们需要把这个整体拆分为7个步骤,这样也会让你的思路看起来更有条理。当然啦,这是最完美的状态。然而在实际操作中,并且是在较大的项目中,你可能需要做一些反复工作,用后一步骤所了解到的内容来改进前一个步骤。第1步: 定义程序目标当你在开始写程序之前,你应对希望...原创 2019-10-28 17:10:23 · 3834 阅读 · 0 评论 -
10个C语言基础算法
算法是一个程序和软件的灵魂,作为一名优秀的程序员,只有对一些基础的算法有着全面的掌握,才会在设计程序和编写代码的过程中显得得心应手。本文是近百个C语言算法系列的第二篇,包括了经典的Fibonacci数列、简易计算器、回文检查、质数检查等算法。1、计算Fibonacci数列Fibonacci数列又称斐波那契数列,又称黄金分割数列,指的是这样一个数列:1、1、2、3、5、8、13、21。C语言实...原创 2019-10-28 17:05:41 · 1357 阅读 · 0 评论 -
Linux下C语言编程基础知识
1.源程序的编译在Linux下面,如果要编译一个C语言源程序,我们要使用GNU的gcc编译器。 下面我们以一个实例来说明如何使用gcc编译器。假设我们有下面一个非常简单的源程序(hello.c):int main(int argc,char **argv){printf(“Hello Linux\n”);}要编译这个程序,我们只要在命令行下执行:gcc -o hello hello...原创 2019-10-25 16:46:53 · 522 阅读 · 0 评论 -
常用linux的37个命令
终端机必备工具包Linux包含大量命令,但是我们从这里选择了37个最重要的命令。 学习这些命令,您将在Linux命令提示符下有更多的家。下面的列表按字母顺序显示。 命令在列表中的位置并不代表其有用或简单。 有关命令用法的最终字词,请参阅其手册页。 man命令当然在我们的列表中,它是“ manual”的缩写。1.别名使用alias命令可以给命令或命令序列指定自己的名称。 然后,您可以输入您...原创 2019-10-21 16:58:24 · 651 阅读 · 0 评论 -
分享 100 道 Linux 笔试题
cron 后台常驻程序 (daemon) 用于:A. 负责文件在网络中的共享B. 管理打印子系统C. 跟踪管理系统信息和错误D. 管理系统日常任务的调度在大多数Linux发行版本中,以下哪个属于块设备 (block devices) ?A. 串行口B. 硬盘C. 虚拟终端D. 打印机下面哪个Linux命令可以一次显示一页内容?A. pauseB. catC. ...原创 2019-10-21 16:57:26 · 2367 阅读 · 0 评论 -
摸鱼必备!3个 Linux 命令行工具让你假装很忙!
如果你花时间看过谍战惊悚片、动作片或犯罪电影,你就会在脑海中清晰地勾勒出黑客坐在电脑屏幕前的样子:一行行快速移动的代码,大量的矩阵中的十六进制数字代码像雨水一样飞过。也许有一张世界地图,上面有一些发光点和一些快速更新的图表,也许还会有三维几何图形。如果可能的话,这一切都可以显示在多个显示器上面,在黑客电影中就有黑客同时使用了 7 个显示器。当然,我们这些技术人员很快意识到这完全是胡说八道。虽然...原创 2019-10-17 16:37:58 · 293 阅读 · 0 评论 -
STM32的这5大嵌入式系统很难选吗?小白看完都懂了
基于STM平台且满足实时控制要求操作系统,有以下5种可供移植选择,分别为μClinux、μC/OS-II、eCos、FreeRTOS和都江堰操作系统(djyos)。下面分别介绍这五种嵌入式操作系统的特点及不足。1、μClinuxμClinux是一种优秀的嵌入式Linux版本,其全称为micro-control Linux,从字面意思看是指微控制Linux。同标准的Linux相比,μClinu...原创 2019-10-17 16:31:14 · 480 阅读 · 0 评论 -
arm汇编笔记(一)
arm汇编笔记ARM模式是4字节,Thumb模式是2字节ARM状态的指令长度是32位的,Thumb状态的指令长度是16位的(也可能为32位)R7 系统调用号SP Stack Point 栈顶指针LR Link Register 函数返回地址PC Program Counter 下一条指令地址CPSR Current Program Status Registe 当前程序状态寄存器 其...原创 2019-10-17 16:28:34 · 279 阅读 · 0 评论 -
必会,详细剖析11道嵌入式Linux C语言面试题
预处理器(Preprocessor)1 . 用预处理指令#define 声明一个常数,用以表明1年中有多少秒(忽略闰年问题)答: #define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL我在这想看到几件事情:#define 语法的基本知识(例如:不能以分号结束,括号的使用,等等)懂得预处理器将为你计算常数表达式的值,因此,直接写出你是如何计算一年中...原创 2019-10-16 16:22:15 · 335 阅读 · 0 评论 -
C 语言实现Linux cp 命令
linux cp 命令用来将一个或多个源文件或者目录复制到指定的目的文件或目录。小编今天介绍的项目课程就是教你用C语言来实现这个Linux cp命令,对C语言学习者来说是非常不错的练手项目。项目名称:【C 语言实现Linux cp 命令】项目简介:该项目通过完成C 语言实现Linux cp 命令,掌握Linux操作系统中的文件IO相关的系统函数和目录相关操作的系统函数,比如open, w...原创 2019-10-16 16:20:04 · 812 阅读 · 0 评论 -
linux下的C语言开发(makefile编写)
对于程序设计员来说,makefile是我们绕不过去的一个坎。可能对于习惯Visual C++的用户来说,是否会编写makefile无所谓。毕竟工具本身已经帮我们做好了全部的编译流程。但是在Linux上面,一切变得不一样了,没有人会为你做这一切。编代码要靠你,测试要靠你,最后自动化编译设计也要靠你自己。Makefile 介绍首先,我们用一个示例来说明Makefile的书写规则。以便给大家一个感兴...原创 2019-10-16 16:15:41 · 1737 阅读 · 0 评论 -
C语言入门(一)
c语言入门#include<stdio.h> //头文件,一条预处理命令int main() //主函数{/*在双引号中间输入Hello World*/ printf("Hello World"); //printf(),C语言唯一主函数return 0; }程序解释——注释注释是写给程序员看的,不是写给...原创 2019-10-14 16:18:18 · 271 阅读 · 1 评论 -
【干货】c语言基础语法——结构体
1、关于C语言结构体的引入在实际问题中有时候我们需要几种数据类型一起来修饰某个变量。例如一个学生的信息就需要学号(字符串),姓名(字符串),年龄(整形)等等。这些数据类型都不同但是他们又是表示一个整体,要存在联系,那么我们就需要一个新的数据类型。——结构体,它就将不同类型的数据存放在一起,作为一个整体进行处理。2、C语言使用结构体变量进一步加强了表示数据的能力2.1;结构体声明;//...原创 2019-10-14 16:16:31 · 255 阅读 · 0 评论 -
怎么自学C语言 入门
第一阶段:C语言基础在开始学习C语言基础时,要反问自己为什么学C语言,如何学好C语言。同时要知道什么是C语言以及C语言的发展。当对这些知识有了一个概念之后,就正式开始学习C语言了,其中,可能会学到数据类型、运算符、表达式、数组、/函等,这些是为了对C语言的基础有一个基础认知,扩展,整合;还会学到指针、联合体、结构体、枚举、位运算、预处理、文件等知识点,学这些是为了全面掌握面向过程设计、实练逻辑...原创 2019-10-14 16:09:26 · 803 阅读 · 0 评论 -
【三分钟精通C语言指针】C语言指针总结精华
C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。它由美国贝尔研究所的D.M.Ritchie于1972年推出,1978年后,C语言已先后被移植到大、中、小及微型机上,它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。它的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编...原创 2019-10-12 16:46:38 · 337 阅读 · 0 评论 -
C语言指针指向你的时候,菜鸡原型毕露!
复杂类型说明要了解指针,多多少少会出现一些比较复杂的类型。所以先介绍一下如何完全理解一个复杂类型,要理解复杂类型其实很简单,一个类型里会出现很多运算符,他们也像普通的表达式一样,有优先级,其优先级和运算优先级一样。所以我总结了一下其原则:从变量名处起,根据运算符优先级结合,一步一步分析.下面让我们先从简单的类型开始慢慢分析吧:int p; //这是一个普通的整型变量int p; //首先...原创 2019-10-12 16:45:23 · 248 阅读 · 0 评论 -
小白围观,超级牛的STM32 BLDC直流电机控制器设计
2019-02-28 16:39:06本设计是基于STM32 BLDC直流无刷电机控制器设计,并附上原理图和源码等,供网友参考学习。源代码是基于免费开源CoOS(UCOS类似)操作系统上写的,在学习无刷电机的控制同时还能学习到操作系统的知识。同时提供用matlab的GUI编写的串口接收程序和开源的代码,实时接收速度和电流信息,便于PID测试,并且有CAN(TJA1050)接口。同时自己可以进行修...原创 2019-02-28 16:50:36 · 7503 阅读 · 1 评论 -
如何学STM32嵌入式系统开发详细指
1如何学习嵌入式系统—— 从三方面上来理解“嵌入”的概念硬件角度从硬件上,“嵌入”将基于CPU的处围器件,整合到CPU芯片内部,比如早期基于X86体系结构下的计算机,CPU只是有运算器和累加器的功能,一切芯片要造外部桥路来扩展实现,象串口之类的都是靠外部的16C550/2的串口控制器芯片实现,而目前的这种串口控制器芯片早已集成到CPU内部,还有PC机有显卡,而多数嵌入式处理器都带有LCD控...原创 2019-02-28 16:53:12 · 1226 阅读 · 0 评论 -
STM32F750 Linux CAN驱动收发测试成功-实战经验
要资料的可以加我:腾讯3249838614CAN功能调通是这次做板最大的收获。在做这块板子之前我是没有调通STM32 Linux socket CAN的,但是我觉得CAN接口是很有用的,于是抱着不成功便成仁的心态先把CAN收发器和接口做到板子上了。调试开始后,一切都很顺利,u-boot ok,linux ok,之前F429上能用的功能在F750上都成功了,最后轮到CAN接口了。由于我没有现...原创 2019-02-26 13:45:25 · 1098 阅读 · 0 评论 -
什么是Web框架、web框架有什么功能?
随着Web最新发展趋势的不断升级,Web项目开发也越来越难,而且需要花费更多的开发时间。所以,Web程序员灵活运用Web开发框架显得更为重要。下面为大家简单的介绍一下Web框架的基本内容,希望对大家有帮助。Web框架(Web framework)或者叫做Web应用框架(Web application framework),是用于进行Web开发的一套软件架构。大多数的Web框架提供了一套开发和部署...原创 2019-03-05 16:27:37 · 21476 阅读 · 1 评论 -
Arm推最小型Armv8.1-M架构,机器学习性能提高15倍
ARM 宣布推出Armv8.1- M 架构与M-Profile Vector Extension (MVE)矢量扩展方案的Arm Helium 技术,简化开发者软件开发流程,并提升未来基于Cortex-M 处理器设备的机器学习与信号处理性能。Arm Helium 技术借由针对Arm Cortex-M 系列处理器打造的M-Profile Vector Extension (MVE)矢量扩展方案,让...原创 2019-03-05 16:31:33 · 805 阅读 · 0 评论 -
嵌入式Linux底层系统怎么学?
很多初学者会问,嵌入式Linux怎么学?下面就来讨论讨论这个问题。嵌入式Linux可以分为两部分:底层系统、应用开发。对于应用开发 : C语言、数据结构、JAVA什么的需学好。嵌入式应用开发和PC上的应用开发并没有什么特别要注意的。也许你说在嵌入式上要做些优化,是的,要优化,但是未经优化的程序和PC上的程序开发没什么差别。另外,当你有能力去优化时,你已经不用来问这个问题了。具体到某个例子,比如...原创 2019-03-05 16:35:54 · 553 阅读 · 0 评论 -
嵌入式软件职业如何?
不多说,直奔主题No.1涵盖行业广,就业面宽嵌入式的应用比较广泛,适用于各个领域:家电行业:电饭锅,洗衣机,微波炉,电视等汽车行业:ABS防抱死系统,车身控制系统,发动机控制系统等工业行业:工业机器人,数控机床,检测设备等医疗器械行业:核磁共振仪,B超机等消费电子行业:蓝牙耳机,路由器,网络摄像头,手环,固态硬盘等军工行业:通信设备,雷达,航空发动机控制系统等从硬件角度来看,有...原创 2019-02-27 10:37:55 · 652 阅读 · 0 评论 -
嵌入式芯片封装发展趋势解析
麦姆斯咨询介绍,芯片及系统外形尺寸的发展趋势是越做越小,嵌入式芯片封装因此找到了新的需求。根据Yole的报告,日月光(ASE)、奥特斯(AT&S)、通用电气(GE)、神钢电机(Shinko)、太阳诱电(Taiyo Yuden)、TDK、Würth Elektronik等公司都在商业嵌入式芯片封装市场中展开激烈的竞争。事实上,在这场竞争中,ASE与TDK联手合作提高产量。此外,德州仪器(T...原创 2019-02-27 10:40:50 · 1182 阅读 · 0 评论 -
STM32大神笔记,超详细单片机学习汇总资料
有需要资料的可以加我:腾讯QQ32498386141、NEC协议在发送的时候,会有560us的38KHz的载波信号,而在接收的时候这部分载波信号被认定为低电平,而剩余的(2.25ms-650us)的逻辑“1”和(1.12ms-650us)的逻辑“0”时间则被认定为高电平。2、在单位时间内的位移被定义为速度,速度有线速度和角速度之分,分别对应两种传感器测量这两种不同的速度:线速度传感器(加速度计...原创 2019-03-08 16:50:45 · 2016 阅读 · 0 评论 -
Linux简介技术
一、Linux的发展(1)Unix的起源1)1969年,由kenthompson在AT&T贝尔实验室实现的。使用的是汇编语言。2)1970年,KenThompson和DennisRitchie是使用C语言对整个系统进行了再加工和编写,是的Unix能够很容易的移植到其他硬件的计算机上。3)Unix家庭树4)什么是Linux?a) GNU&GPLGNU = GNU is ...原创 2019-03-06 14:17:26 · 333 阅读 · 0 评论 -
技术博文丨ARM和PowerPC分析
2019-03-06 13:31:36ARM:公司名技术名微处理器架构ARM公司是一家知识产权供应商,ARM公司与其他半导体公司不一样,ARM公司不生产制造芯片跟不会出售芯片,而是转让涉及方案,由其他半导体公司生产芯片,这种模式不仅给合作公司带来很大的收益,同时也给用户带来巨大的好处,因为用户只需掌握一种ARM内核结构及其开发手段,就可以使用多加公司生产的ARM处理器。在开发中有及其重要...原创 2019-03-06 14:24:15 · 1925 阅读 · 0 评论 -
这样来讲嵌入式,真够透彻!
2019-03-06 13:25:11看到很多人,特别是初学者对嵌入式感兴趣,但又十分困惑, 因此,我觉得有必要抽空写些东西来“普渡众生”,当然我不是佛,用“普渡众生”这个词不大合适,但一时也找不到合适的词了,先将就一下吧。还有就是别叫我大神, 我不是大神,一介草民而已,只不过暂时在这方面懂得比有些人多一点而已,其它方面,他们比我懂,因此,大家是平等的。既然是一介草民,因此,我也不打算遵循那...原创 2019-03-06 14:31:47 · 211 阅读 · 0 评论 -
对ARM嵌入式入门的建议
由于很多人总问这个问题,所以这里做一个总结文档供大家参考。这里必须先说明,以下的步骤都是针对Linux系统的,并不面向WinCE。也许你会注意到,现在做嵌入式的人中,做Linux研究的人远比做WinCE的人多,很多产家提供的资料也是以Linux为主。我一直很难理解,其实WinCE的界面比Linux的界面好看多了,使用起来也很方便,更为重要的是,WinCE的开发和Windows下的开发基本一样,学起...原创 2019-03-04 11:28:43 · 154 阅读 · 0 评论 -
对ARM嵌入式入门的建议
由于很多人总问这个问题,所以这里做一个总结文档供大家参考。这里必须先说明,以下的步骤都是针对Linux系统的,并不面向WinCE。也许你会注意到,现在做嵌入式的人中,做Linux研究的人远比做WinCE的人多,很多产家提供的资料也是以Linux为主。我一直很难理解,其实WinCE的界面比Linux的界面好看多了,使用起来也很方便,更为重要的是,WinCE的开发和Windows下的开发基本一样,学起...原创 2019-03-04 11:28:43 · 181 阅读 · 0 评论 -
嵌入式课程技术,学嵌入式要多长时间?
嵌入式可以说已经渗入到我们生活的方方面面,无论是在通讯,还是网络,甚至工控、医疗、电子等领域,嵌入式技术发挥着越来越重要的作用。有参加培训机构学习嵌入式技术的想法,培训嵌入式要多长时间?在说到培训之前,我们先看看自学。自学成功的周期有的是几个月,有的是几年,甚至有的人都自学不下去。在自学的过程中,能持续坚持几个月,并有一定进展的情况下,可以继续下去。假如一直没什么进步,一直在平行线上来回,又想...原创 2019-03-04 14:46:42 · 1980 阅读 · 0 评论 -
STM32 60个实用案例分享
STM32 60个案例留联系方式资料免费送原创 2019-03-04 17:01:19 · 35514 阅读 · 1083 评论 -
新手学嵌入式如何从零基础到入门,这里告诉你
随着社会的发展,物联网,嵌入式都相继发展起来,很多人都踩着这股潮流,争相学习嵌入式,而对于新手来说,学习嵌入式可以说是是比较困难的,但是也是有方法的,我这只老鸟就是从零基础过来的。分享一下我是如何从零基础到入门的。1、学习嵌入式要知道嵌入式涉及到的知识,不要像我一样,在开始学的时候不知道从何学起,一直处于迷茫状态。吸取我的教训,所以下面这些你必须好好看:c语言,关于C语言要知道基本的语法,什么...原创 2019-03-14 16:15:24 · 5114 阅读 · 1 评论 -
写给新手,从不懂到入门,一只老鸟的嵌入式入门心得
本人大学学的是电子信息科学与技术专业,其实这个专业和嵌入式没有多大的关系,要说有关系就是简单的讲了下C语言语法,学完之后还不知道什么是C语言,只记住了,char,int,string等占几个字节,if, for, while循环什么的,感觉也就能算一些小学就会的题目,全国计算机等级二级也就糊涂的过了。我这个专业没学过C++,一开始不知道什么是向对象,什么叫面向过程,这可能让大家笑话了。不过这说的是...原创 2019-03-14 16:18:47 · 3928 阅读 · 1 评论 -
浅谈嵌入式工程师入门及嵌入式工程师进阶,学嵌入式这些你需要知道
想要从事嵌入式开发,但又不知道怎么入门的,可以看下,下面我结合自身实际来谈一谈。前提基础:简单的电路、模电、数电知识,C语言一、从51单片机入手如果有一些前提的基础知识,要上手51单片机不算难。首先,你得有一块开发板,郭天祥或者普中科技的51单片机开发板都很不错,资源比较齐全,有配套视频,可以跟着视频来一步步地走进单片机的世界。因为是用C语言编程的,功能实现的过程不算复杂,有C语言基础的基本...原创 2019-03-14 16:23:36 · 1284 阅读 · 1 评论