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 · 1007 阅读 · 0 评论 -
WebAssembly多线程支持的内部原理
这篇博文探讨了 WebAssembly 支持多线程的内部机制与新的指令集,并介绍了这一功能如何为多线程应用程序提供支持。几年前 WebAssembly 刚刚发布时还是一个 MVP(最小可行产品),只有很少的一组功能来提供基本的可用性和实用性。彼时这个 MVP 缺少一个重要特性,就是多线程支持。而如今 WebAssembly 的多线程支持已经非常成熟了,可在工具和 Chrome 中使用。这篇博文...原创 2020-04-02 17:05:59 · 1741 阅读 · 0 评论 -
适合STM32的三大嵌入式操作系统
基于STM平台且满足实时控制要求操作系统,有以下5种可供移植选择。分别为μClinux、μC/OS-II、eCos、FreeRTOS和都江堰操作系统(djyos)。下面分别介绍这五种嵌入式操作系统的特点及不足。1、μClinuxμClinux是一种优秀的嵌入式Linux版本,其全称为micro-control Linux,从字面意思看是指微控制Linux。同标准的Linux相比,μClinux...原创 2019-06-14 17:20:50 · 2837 阅读 · 0 评论 -
如何学习单片机?学习单片机的四个步骤
其中一种,其它的都可以触类旁通,快速上手了。如果你这些条件都没有,那就跟着我学吧,我建议你学习51 单片机。为什么要学习51单片机:虽然现在单片机种类和型号非常多,每个型号都有一定的市场份额,但是哪个型号也没有早期 51单片机那般风光和火爆,虽然现在地位不是那么高了,但是因为 51 单片机积累的资料非常多,大家学起来就会拥有众多的参考资料,所以上手肯定比其他型号的要快一些。如果你学习稍微偏门的...原创 2019-07-24 17:20:09 · 3007 阅读 · 1 评论 -
C 语言程序设计---指针
C 语言是值得好好学习的一门语言,是一门基础语言,更是我编程入门的语言,其中很多编程思想,至今影响着我,在工作中对我的帮助很大。基本概念学习 C 语言之指针,必须强烈推荐一本书:《C 和指针》,好好看,把这本书吃透,C 指针就差不多了。1、指针有两个要素(1)、首地址:内存中多个连续字节的第一个字节的编号;在 32 位系统下,每个字节的编号都是 32 位二进制,也就是 4B,任何类型的...原创 2019-07-25 16:36:09 · 153 阅读 · 0 评论 -
10个经典的C语言面试基础算法及代码
算法是一个程序和软件的灵魂,作为一名优秀的程序员,只有对一些基础的算法有着全面的掌握,才会在设计程序和编写代码的过程中显得得心应手。本文是近百个C语言算法系列的第二篇,包括了经典的Fibonacci数列、简易计算器、回文检查、质数检查等算法。也许他们能在你的毕业设计或者面试中派上用场。1、计算Fibonacci数列Fibonacci数列又称斐波那契数列,又称黄金分割数列,指的是这样一个数列:...原创 2019-07-25 17:04:00 · 3256 阅读 · 0 评论 -
初学C语言入门必读~
我能够自称是一个混IT的人,并能以此谋生,将来大家能一次谋生,都要感谢两个人:克劳德.香农和约翰.冯.诺依曼,是他们发现了所有的数字化信息,不论是一段程序,一封email,一部电影都是用一连串的1和0进行编码的;是他们发现了我们可以利用一个预先编写好的程序控制机器,并使之完成我们期望它完成的动作。建议大家在心里默念三遍他们的名字,以示仰慕。当然,如果让你们带着现在的知识回到他们的那个时代,那么就没...原创 2019-07-25 17:14:51 · 776 阅读 · 0 评论 -
C语言的语法与算法
C语言的语法:1、C语言的主要“单词”(1)标识符。C语言的标识符规定由字母、数字以及下划线组成,且第个字符必须是字母或下划线,相当于自然语言中的名词、代词。(2)保留字(关键字)。它们是C语言规定的、赋予它们以特定含义、有专门用途的标识符,相当于自然语言中的动词、连词、介词,如int、 if…else 等。(3)常量。常量是有数据类型的,如,123、 12.34, 相当于自然语言中的名...原创 2019-07-31 16:30:37 · 1463 阅读 · 0 评论 -
C语言中不得不知的那些“关键字”和“控制语句”
谈及C语言,我想凡是学过它的朋友都有这样一种感觉,那就是“让我欢喜让我忧。”欢喜的是,C语言功能非常强大、应用广泛,一旦掌握了后,你就可以理直气壮地对他人说“我是电脑高手!”,而且以后若是再自学其他语言就显得轻而易举了。忧虑的是,C语言犹如“少林武功”一般博大精深,太难学了。其实就笔者认为C语言并非是“difficult(困难)”的,只要你能理清思路,掌握它的精髓,那么学习C语言是一件非常容易且又...原创 2019-07-31 16:33:47 · 193 阅读 · 0 评论 -
三个Python爬虫版本,带你以各种方式爬取校花网,轻松入门爬虫
爬虫是什么?如果我们把互联网比作一张大的蜘蛛网,数据便是存放于蜘蛛网的各个节点,而爬虫就是一只小蜘蛛,沿着网络抓取自己的猎物(数据)爬虫指的是:向网站发起请求,获取资源后分析并提取有用数据的程序;从技术层面来说就是 通过程序模拟浏览器请求站点的行为,把站点返回的HTML代码/JSON数据/二进制数据(图片、视频) 爬到本地,进而提取自己需要的数据,存放起来使用;基本环境配置版本:Pyth...原创 2019-07-31 16:42:35 · 296 阅读 · 0 评论 -
STM32的启动流程到底是怎样的?
1.写在前面首先,你要知道STM32启动文件中启动流程,你就需要掌握一点汇编基础知识。汇编语言属于机器语言,或者说低级语言,C语言属于高级语言,所以,汇编和C语言在语法上差异很大。如果你学底层开发,汇编的一些基础知识需要掌握。不需要精通,但需要看懂常见的汇编代码。2.说明STM32的启动文件与编译器有关,不同编译器,它的启动文件不同。虽然启动文件(汇编)代码各有不同,但它们原理类似,都...原创 2019-08-05 16:28:11 · 854 阅读 · 0 评论 -
Linux C语言代码风格
这是一个简短的文档,描述了linux内核的首选编码风格。编码风格非常个人化,我不会强迫我对任何人的观点,但这是我必须能够维护的任何东西,而且我更喜欢它用于其他大多数事情。请至少考虑这里提出的观点。首先,我建议打印出GNU编码标准的副本, 而不是阅读它。烧掉它们,这是一个伟大的象征性姿态。无论如何,这里是:第1章:缩进标签为8个字符,因此缩进也是8个字符。 有些异端运动试图将缩进4(甚至2...原创 2019-07-29 16:35:48 · 646 阅读 · 0 评论 -
二十大Python人工智能与机器学习开源项目,TensorFlow升为榜首
译者|核子可乐编辑|TinaAI 前线导读:我们更新了 Python 下的各大顶级人工智能与机器学习项目。TensorFlow 凭借着三位数的贡献者增长量成为新的冠军,Scikit-learn 虽然跌落至第二,但仍然拥有相当庞大的贡献者群体。迈入机器学习与人工智能领域绝非易事。考虑到目前市面上存在着大量可用资源,众多怀有这一抱负的专业人士及爱好者往往发现自己很难建立正确的发展路径。这一领域正不...原创 2019-07-29 16:31:59 · 344 阅读 · 0 评论 -
学单片机有前途还是嵌入式系统有前途?
就会迷糊。所以一定是学51单片机的结构。和针对51的汇编。学到什么程度呢。能点灯就行了。。不要学的很精。。然后就是周天祥的十天学会单片机C语言。。。OK。。你就到我这个水平了。。。。我的水平就是小学一年级的水平。这半个月来我只会驱动1602CD。视频里的一些视频因为我是电子发烧友电子电子的开发板。所以有点不同。试验基本都做不了。。。但我觉得我能做好。。。因为1602还是被我整会了。。这里还有点建议...原创 2019-07-19 16:54:46 · 1023 阅读 · 0 评论 -
STM32单片机按键消抖和FPGA按键消抖大全
写在前面:STM32单片机按键消抖和FPGA按键消抖大全按键去抖:由上图可以看出理想波形与实际波形之间是有区别的,实际波形在按下和释放的瞬间都有抖动的现象,抖动时间的长短和按键的机械特性有关,一般为5~10ms。通常我们手动按键然后释放,这个动作中稳定闭合的时间超过了20ms。因此单片机在检测键盘是否按下时都要加上去抖动操作,有专用的去抖动电路,也有专门的去抖动芯片,但通常我们采用软件延时的方...原创 2019-06-14 17:25:12 · 2327 阅读 · 0 评论 -
学单片机有前途还是嵌入式系统有前途?
著名嵌入式工程师吴坚鸿曾经发过一贴“学单片机有前途还是嵌入式系统有前途?”原贴如下:http://www.makeru.com.cn/live/3523_1772.html?s=69821我在深圳一直搞单片机的开发,接的项目各种各样,不计其数。很多朋友问我学习单片机有前途还是嵌入式系统有前途,毫无疑问的,当然是单片机有前途。嵌入式系统现在炒得很火,满街到处都是嵌入式系统的培训。遇到很多刚入门...原创 2019-07-08 16:58:57 · 3781 阅读 · 3 评论 -
C++ 程序员到高级架构师,必须经历的三个阶段
每个程序员、或者说每个工作者都应该有自己的职业规划,如果你不是富二代,不是官二代,也没有职业规划,希望你可以思考一下自己的将来。今天给大家分享的是一篇来自腾讯C/C++架构师对普通程序员的职业建议,希望对你有启发。对于大多数的程序员,可以分为以下三个阶段。第一个阶段三年 : 代码里没有人的思维我认为三年对于程序员来说是第一个门槛,这个阶段将会淘汰掉一批不适合写代码的人。这一阶段,我们走出校...原创 2019-07-09 15:29:37 · 1520 阅读 · 0 评论 -
Linux技术学习要点,您掌握了吗---初学者必看
1、如何做好嵌入式Linux学习前的准备?要成为一名合格的嵌入式Linux工程师,就需要系统的学习软、硬件相关领域内的知识,需要在最开始就掌握开发的规范和原则,养成良好的工作习惯。为了确保学习的效果,信盈达安排的整个课程体系是非常集中、高效的,这就要求准备参加嵌入式Linux就业课程学习的同学要调整好自己的时间,务必要确保在4个多月的学习时间内能够高度集中精力。在整个集中学习过程中,既要保证课...原创 2019-07-10 17:05:46 · 134 阅读 · 0 评论 -
C++ 程序员到高级架构师,必须经历的三个阶段
每个程序员、或者说每个工作者都应该有自己的职业规划,如果你不是富二代,不是官二代,也没有职业规划,希望你可以思考一下自己的将来。今天给大家分享的是一篇来自腾讯C/C++架构师对普通程序员的职业建议,希望对你有启发。对于大多数的程序员,可以分为以下三个阶段。第一个阶段三年 : 代码里没有人的思维我认为三年对于程序员来说是第一个门槛,这个阶段将会淘汰掉一批不适合写代码的人。这一阶段,我们走出校...原创 2019-07-15 16:40:39 · 290 阅读 · 0 评论 -
单片机常用的14个C语言算法,看过的都成了大神!
算法(Algorithm):计算机解题的基本思想方法和步骤。算法的描述:是对要解决一个问题或要完成一项任务所采取的方法和步骤的描述,包括需要什么数据(输入什么数据、输出什么结果)、采用什么结构、使用什么语句以及如何安排这些语句等。通常使用自然语言、结构化流程图、伪代码等来描述算法。一、计数、求和、求阶乘等简单算法此类问题都要使用循环,要注意根据问题确定循环变量的初值、终值或结束条件,更要注意...原创 2019-07-15 16:44:56 · 1581 阅读 · 0 评论 -
Linux内核结构详解
Linux内核主要由五个子系统组成:进程调度,内存管理,虚拟文件系统,网络接口,进程间通信。http://www.makeru.com.cn/live/1392_337.html?s=698211.进程调度(SCHED):控制进程对CPU的访问。当需要选择下一个进程运行时,由调度程序选择最值得运行的进程。可运行进程实际上是仅等待CPU资源的进程,如果某个进程在等待其它资源,则该进程是不可运行进...原创 2019-07-11 17:02:14 · 212 阅读 · 0 评论 -
单片机常用的14个C语言算法,看过的都成了大神!
算法(Algorithm):计算机解题的基本思想方法和步骤。原贴链接https://zhuanlan.zhihu.com/p/72203912学习资料:http://www.makeru.com.cn/course/details/2233.html?s=69821算法的描述:是对要解决一个问题或要完成一项任务所采取的方法和步骤的描述,包括需要什么数据(输入什么数据、输出什么结果)、采用什么...原创 2019-07-16 17:04:16 · 168 阅读 · 0 评论 -
Linux驱动学习笔记之触摸屏驱动
触摸屏归纳为输入子系统,这里主要是针对电阻屏,其使用过程如下当用触摸笔按下时,产生中断。在中断处理函数处理函数中启动ADC转换x,y坐标。ADC结束,产生ADC中断在ADC中断处理函数里上报(input_event)启动定时器再次启动定时器(可以处理滑动、长按)松开按键http://www.makeru.com.cn/video/1862.html?s=69821其驱动程序的写法和...原创 2019-07-12 16:17:31 · 175 阅读 · 0 评论 -
C语言中不得不知的那些“关键字”和“控制语句”
谈及C语言,我想凡是学过它的朋友都有这样一种感觉,那就是“让我欢喜让我忧。”欢喜的是,C语言功能非常强大、应用广泛,一旦掌握了后,你就可以理直气壮地对他人说“我是电脑高手!”,而且以后若是再自学其他语言就显得轻而易举了。忧虑的是,C语言犹如“少林武功”一般博大精深,太难学了。其实就笔者认为C语言并非是“difficult(困难)”的,只要你能理清思路,掌握它的精髓,那么学习C语言是一件非常容易且又...原创 2019-08-05 16:30:25 · 118 阅读 · 0 评论 -
Python 常见的17个错误分析
对于刚入门的Pythoner在学习过程中运行代码是或多或少会遇到一些错误,刚开始可能看起来比较费劲。随着代码量的积累,熟能生巧当遇到一些运行时错误时能够很快的定位问题原题。下面整理了常见的17个错误,希望能够帮助到大家1、忘记在if,for,def,elif,else,class等声明末尾加 :会导致“SyntaxError :invalid syntax”如下:if spam == 4...原创 2019-08-05 16:35:44 · 186 阅读 · 0 评论 -
Linux字符设备驱动程序工作机理分析
1 本文主题本文主要分析Linux字符设备驱动程序的工作机理。主要内容以及代码片段来源于《LDD3》,俺只是从另外一个角度来讲述。见过很多关于驱动程序的书,基本上都是告诉你怎么做,然后你STEP BY STEP,然后运行完后结果就出来了,可是其背后到底是如何工作的呢?虽说《LDD3》也讲了很多原理性的东西,但是我觉得这个问题其描述得并不明确。2 关于scullscull是《LDD3》的一个...原创 2019-08-16 16:22:10 · 89 阅读 · 0 评论 -
Linux技术学习要点,您掌握了吗---初学者必看
1、如何做好嵌入式Linux学习前的准备?要成为一名合格的嵌入式Linux工程师,就需要系统的学习软、硬件相关领域内的知识,需要在最开始就掌握开发的规范和原则,养成良好的工作习惯。为了确保学习的效果,信盈达安排的整个课程体系是非常集中、高效的,这就要求准备参加嵌入式Linux就业课程学习的同学要调整好自己的时间,务必要确保在4个多月的学习时间内能够高度集中精力。在整个集中学习过程中,既要保证课...原创 2019-08-16 16:23:50 · 79 阅读 · 0 评论 -
linux下的常用操作
linux:fedora 17vim+taglist+cscope+ctags vim的模式:1.Normal Mode也就是最一般的普通模式,默认进入vim之后,处于这种模式。2.Visual Mode一般译作可视模式,在这种模式下选定一些字符、行、多列。在普通模式下,可以按v进入。3.Insert Mode插入模式,其实就是指处在编辑输入的状态。普通模式下,可以按i进入。4....原创 2019-08-16 16:51:54 · 67 阅读 · 0 评论 -
浅谈ARM嵌入式系统如何学习与入门
只看楼主 1楼关于ARM嵌入式系统的开发,一直是it行业人员关注的热点,也是属于一个高门槛的行业,目前也有很多的开发者正在从事着这方面的学习。而那些对于那些想去学习开发者还有那些初学者往往会碰到难题,到底从哪里学起才好?学了半天还是不懂?其实往往在一门技术的学习上,特别是在基础知识上不能胡乱的学习,只有掌握了技术的核心,运用起来才会得心应手。那么ARM嵌入式系统该如何掌握,怎么去快速入门呢?浅...原创 2019-08-22 16:52:41 · 193 阅读 · 0 评论 -
致STM32初学者,外设先后学习顺序!
只看楼主 1楼因为平时工作时做的硬件工作偏多一些,在去年的2018年,主要做了硬件和射频方面的硬件研发工作,另外在产品量产跟线和生产支持上也花费了很多时间,以致把一直想掌握的STM32应用这一块给搁置了,还有掌握的C语言基础变得也越来越生疏。俗语说一年之计在于春,想想2019年初一定要做好计划,不能再把这一块给落下!计划今天把手头上积了一层灰的STM32F407开发板给收拾出来,整理好开发工...原创 2019-08-22 16:54:23 · 424 阅读 · 0 评论 -
STM32之流水灯实验
只看楼主 1楼笔者这次所用的开发板是在中国移动物联网平台-onenet所申请的,说白了就是中国移动免费送的开发板,相比于其它的申请平台,onenet最大的优势就是不限量,有多少申请申请就送多少开发板,前提是必须要阐述理由,言之有理的都能申请成功,需要申请开发板的私信笔者“开发板”,笔者会回复官方申请地址。除了麒麟开发板之外,官方还送了LCD1602显示屏、直流5V电源、ST-LINK下载器,还...原创 2019-08-22 16:56:16 · 1679 阅读 · 0 评论 -
高手总结的“恋爱法”学习Linux系统
如果你恋爱了,那你一定非常喜欢她、了解她,知道她喜欢吃什么玩什么,知道她需要什么,在她生气的时候可以哄她开心,一切尽在你的手指中。那你想学好Linux吗?喜欢Linux吗?你懂她吗?你有喜欢Linux像喜欢你女朋友一样吗?选个“女朋友” 都知道Linux并不单独指其中一个发行版本,Linux仅仅指的是其内核,Linux的发行版本众多,让人眼花缭乱,那么问题来了?~这么多版本应该选择那一个了?...原创 2019-08-26 17:29:10 · 109 阅读 · 0 评论 -
关于嵌入式Linux系统中的BSP浅析
嵌入式系统由硬件环境、嵌入式操作系统和应用程序组成,硬件环境是操作系统和应用程序运行的硬件平台,它随应用的不同而有不同的要求。硬件平台的多样性是嵌入式系统的主要特点,如何使嵌入式操作系统在不同的硬件平台上有效地运行,是嵌入式系统开发中需要解决的关键问题。解决的方法是在硬件平台和操作系统之间提供硬件相关层来屏蔽这些硬件的差异,给操作系统提供统一的运行环境,这种硬件相关层就是嵌入式系统中的板级支持包B...原创 2019-08-29 17:14:36 · 413 阅读 · 0 评论 -
STM32入门系列-STM32时钟系统,时钟初始化配置函数
在前面推文的介绍中,我们知道STM32系统复位后首先进入SystemInit函数进行时钟的设置,然后进入主函数main。那么我们就来看下SystemInit()函数到底做了哪些操作,首先打开我们前面使用库函数编写的LED程序,在system_stm32f10x.c文件中可以找到SystemInit()函数,SystemInit()代码如下:void SystemInit (void){/* ...原创 2019-09-02 16:52:17 · 1094 阅读 · 0 评论 -
STM32入门系列-GPIO工作模式及LED电路原理
GPIO工作模式由于GPIO内部的结构关系,决定了GPIO可配置成以下几种模式。输入模式在输入模式时,施密特触发器打开,输出被禁止。可通过输入数据寄存器GPIOx_IDR读取I/O状态。输入模式可以配置为模拟、上拉、下拉以及浮空模式。上拉和下拉输入很好理解,默认的电平由上拉或者下拉决定。浮空输入的电平是不确定的,完全由外部的输入决定,一般接按键的时候可以使用这个模式。模拟输入则用于 ADC ...原创 2019-08-21 16:58:13 · 601 阅读 · 0 评论 -
46个经典Linux面试题!
问题一:绝对路径用什么符号表示?当前目录、上层目录用什么表示?主目录用什么表示? 切换目录用什么命令?答案:绝对路径:如/etc/init.d当前目录和上层目录:./ …/主目录:~/切换目录:cd问题二:怎么查看当前进程?怎么执行退出?怎么查看当前路径?答案:查看当前进程:ps执行退出:exit查看当前路径:pwd问题三:怎么清屏?怎么退出当前命令?怎么执行睡眠?怎...原创 2019-08-12 16:25:29 · 165 阅读 · 0 评论 -
如何使用Python搞定数据分析
大数据是当前比较火的方向,依托于这一行业,互联网公司对数据分析人员需求也逐年递增,数据分析师也成为是当前比较火的从业方向。数据是企业数字资产,如何让这些资产转化为实际价值?通过数据分析工具或者数据分析人员对数据进行挖掘,挖掘潜在价值,为指导工作及公司决策层提供数据支撑。数据分析师主要工作是什么?数据分析师主要工作包括:数据收集,清洗,存储,建模,可视化分析,分析决策等;不同生产环节所花费时...原创 2019-08-01 16:39:35 · 214 阅读 · 0 评论 -
鸿蒙与Linux今生——四位天才级大师
概述很多人对 Linux 再熟悉不过了,大家都知道 Linux继承自 Unix,但其实他们上一代还有一个 Multics。从最早的 Multics 发展到最早版本的 Linux,用了 28 年时间。这其中有四位天才级大师做出了卓越的贡献。今天带大家一起来回顾一下这段历史。操作系统鼻祖——MulticsUnix 的创造左:Thompson | 右:RitchieUnix BSD ...原创 2019-08-13 16:58:07 · 3127 阅读 · 3 评论 -
二十大Python人工智能与机器学习开源项目,TensorFlow升为榜首
AI 前线导读:我们更新了 Python 下的各大顶级人工智能与机器学习项目。TensorFlow 凭借着三位数的贡献者增长量成为新的冠军,Scikit-learn 虽然跌落至第二,但仍然拥有相当庞大的贡献者群体。迈入机器学习与人工智能领域绝非易事。考虑到目前市面上存在着大量可用资源,众多怀有这一抱负的专业人士及爱好者往往发现自己很难建立正确的发展路径。这一领域正不断演变,我们必须紧随时代的步...原创 2019-08-09 16:55:50 · 115 阅读 · 0 评论 -
Python将是人工智能时代的最佳编程语言
移动互联网取代PC互联网领跑在互联网时代的最前沿,Android和iOS一度成为移动互联网应用平台的两大霸主,成为移动开发者首选的两门技术,HTML5以其跨平台的优势在移动互联网应用平台占据重要位置,可以说是后来者居上。 由于技术的限制难以催生出更多的新应用,互联网+的产品日渐饱和,移动互联网从巅峰时代逐渐趋于平缓发展,下一个时代谁是主场?下一门应用技术谁来掌门?在第三届互联网大会中百度CEO...原创 2019-08-09 16:56:50 · 146 阅读 · 0 评论