为您找到搜索结果:4608个
IAR FOR STM8 学习笔记 IAR工程的建立
STM8是ST意法半导体针对工业应用和消费电子开发而推出的8位单片机。每种MCU都有自身的优点与缺点,与其它8-bit MCU相比,STM8 8-bit MCU最大的特点是:· 内核:o 最高fcpu频率,可达24MHz,当fcpu≤16MHz时0等待的存储器访问o 高级STM8内核,基于哈佛结构并带有3级流水线o 扩展指令集o 最高20 MIPS @ 24 MHz· 时钟、复位和电源管理:o 2.95V到5.5V工作电压o 灵活的时钟控制,4个主时钟源o 带有时钟监控的时钟安全保障系统· 电源管理:o 低功耗模式(等待、活跃停机、停机)o 外设的时钟可单独关闭o 永远打开的低功耗上电和掉电复位· 通信接口:o 高速1Mbit/s CAN 2.0B接口o 带有同步时钟输出的UAR...
IAR FOR STM8 学习笔记 固件库 GPIO
经过一番挣扎,还是决定使用官方的固件库了。。从网上下一个STM8S的固件库,记得是FOR IAR的。找到里面的IAR模板就可以开始用了。 这些都是直接写好的库函数,可以直接调用,但首先得先读懂,先了解些必备知识。STM8的寄存器的地址 在STM8中,与某个外围设备有关的寄存器在地址上都是顺序排列的;比如与GPIO有关的寄存器有ODR、IDR、DDR、CR1、CR2,与PA口有关的这五个寄存器就被安排在了0x00 5000~0x00 5004这5个地址空间中,它们有一个0x005000的基地址,分别偏移0,1,2,3,4。 ”stm8s.h"中与GPIO有关的定义,以及固件库中访问外围设备寄存器的方法 typedef struct GPIO_struct { vu8 ODR; /*!< Output Data Register */ ...
自己在linux上编译、链接、动态库和静态库的学习笔记
在平常的项目中,我们都是使用公司要求的makefile、makedebug一类的文件,因此,在编译、链接、生成和链接动态库与静态库的时候,我们只是简单的使用一些已经设置的变量,只是简单的修改、添加一些文件名,或许这次我们编译通过了,但是,在某一个时候,可能出现了一个问题,无论简单与否,因为平常没有留意,导致的结果可能是花了好长时间才能解决。而如果平常只是简单的留一下心,或许这些问题都是可以避免的。 因此,今天我自己使用几个文件,编译动态库、静态库以及动态库和静态库的嵌套调用等问题,尽量还原我在项目中遇到的问题,尽量让自己明白平常没有意识到的一些东西。 需要用到的文件列表,如下: /****showcoor.cpp****/#include"showcoor.h"//显示某一坐标intshowcoor(intx){cout<<"coordinate:"<<x<<endl;return0;}/****showcoor.h****/#include<iostream>usingnamespacestd;intsho...
CxImage学习
官方下载地址是:http://www.xdp.it/cximage/ 打开工程后可以看到下例这些工程:-CxImage-CxImageCrtDll-CxImageMfcDll-dome-domeDll-jasper-jbig-jpeg-libdcr-mng-png-tiff-zlib 1。首先我们要确定在程序中是希望静态链接还是动态链接,在这里我建议大家使用动态链接,因为这个库有点大,如果使用静态链接的话你的应用程序体积会额外增加1MB多。 2。然后确定在MFC中使用还是在CRT环境中使用,这个库专门为你建了这两个工程来创建不同环境中使用的运行时库,跟据你的需求来选择编译CxImageCrtDll还是CxImageMfcDll工程,如果你希望使用静态库链接的话除了这两个工程不需要编译其它的工程都需要编译。并且在引用这个静态库的时候要把这些所有编译过的工程里的*.lib全部拷到你的程里去。 3。OK编译完工程后将以下文件拷到你建立的工程里去先将头文件拷到你的工程里去:xfile.h、ximacfg.h、ximadef.h、ximage.h、xiof...
Windows录音API学习笔记--转
Windows录音API学习笔记结构体和函数信息 结构体WAVEINCAPS该结构描述了一个波形音频输入设备的能力。typedefstruct{ WORD wMid;用于波形音频输入设备的设备驱动程序制造商标识符。 WORD wPid;声音输入设备的产品识别码。 MMVERSION vDriverVersion;用于波形音频输入设备的设备驱动程序的版本号。高位字节是主版本号,低字节是次版本号。 CHAR szPname[MAXPNAMELEN];设备名称 DWORD dwFormats;所支持的标准格式。可以是以下组合: &n...
git的学习笔记整理
Git学习较好的网址:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/001373962845513aefd77a99f4145f0a2c7a7ca057e7570000开源中国的git站点:http://git.oschina.NET/oschina/git-osc/wikis/Home msysgit是Windows版的Git,从http://msysgit.github.io/下载安装选择默认安装就可以了。对于任何一个文件,在Git内都只有三种状态:已提交(committed),已修改(modified)和已暂存(staged)。已提交表示该文件已经被安全地保存在本地数据库中了;已修改表示修改了某个文件,但还没有提交保存;已暂存表示把已修改的文件放在下次提交时要保存的清单中。 1安装完成后,还需要最后一步设置,在命令行输入:$gitconfig--globaluser.name"YourName"$gitconfig--globaluser.e...
Git学习笔记
Git是分布式版本控制系统。SVN是集中式版本控制系统,而Git则是分布式版本控制系统。集中式版本控制系统,版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器。中央服务器就好比是一个图书馆,你要改一本书,必须先从图书馆借出来,然后回到家自己改,改完了,再放回图书馆。集中式版本控制系统最大的毛病就是必须联网才能工作,如果在局域网内还好,带宽够大,速度够快,可如果在互联网上,遇到网速慢的话,不得把人给憋死啊.分布式版本控制系统根本没有“中央服务器”,每个人的电脑上都是一个完整的版本库,这样,你工作的时候,就不需要联网了,因为版本库就在你自己的电脑上。既然每个人电脑上都有一个完整的版本库,那多个人如何协作呢?比方说你在自己电脑上改了文件A,你的同事也在他的电脑上改了文件A,这时,你们俩之间只需把各自的修改推送给对方,就可以互相看到对方的修改了和集中式版本控制系统相比,分布式版本控制系统的安全性要高很多,因为每个人电脑里都有完整的版本库。分布式版本控制系统通常也有一台...
爬虫学习
#coding:utf8__author__='wang'importurllib2importcookieliburl="http://www.baidu.com";response=urllib2.urlopen(url)print(len(response.read()));request=urllib2.Request(url)request.add_header('user-agent','Mozilla/5.0')response1=urllib2.urlopen(request)printlen(response1.read())cj=cookielib.CookieJar()opener=urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))urllib2.install_opener(opener)response2=urllib2.urlopen(url)printcjprintlen(response2.read()) ...
django学习--2 模板
在上一章节中我们使用django.http.HttpResponse()来输出"HelloWorld!"。该方式将数据与视图混合在一起,不符合Django的MVC思想。本章节我们将为大家详细介绍Django模板的应用,模板是一个文本,用于分离文档的表现形式和内容。我们接着上一章节的项目将在HelloWorld目录底下创建templates目录并建立hello.html文件,整个目录结构如下:HelloWorld/|--HelloWorld||--__init__.py||--__init__.pyc||--settings.py||--settings.pyc||--urls.py||--urls.pyc||--view.py||--view.pyc||--wsgi.py|`--wsgi.pyc|--manage.py`--templates`--hello.htmlhello.html文件代码如下:<h1>{{hello}}</h1>从模板中我们知道变量使用了双括号。接下来我们需要向Django说明模板文件的路径,修改HelloWorld/settings.p...
django学习--1
1安装 安装anacanda后condainstalldjango 2新建项目 django-admin.pystartprojectHelloWorld创建完成后我们可以查看下项目的目录结构:$cdHelloWorld/$tree.|--HelloWorld||--__init__.py||--settings.py||--urls.py|`--wsgi.py`--manage.py目录说明:HelloWorld: 项目的容器。manage.py: 一个实用的命令行工具,可让你以各种方式与该Django项目进行交互。HelloWorld/__init__.py: 一个空文件,告诉Python该目录是一个Python包。HelloWorld/settings.py: 该Django项目的设置/配置。HelloWorld/urls.py: 该Django项目的URL声明;一份由Django驱动的网站"目录"。HelloWorld/wsgi.py: 一个WSGI兼容的Web服务器的入口,以...
排序学习之---快速排序
快速排序是一种交换排序,它由C.A.R.Hoare在1962年提出。快速排序的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分:分割点左边都是比它小的数,右边都是比它大的数。然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。动态效果示意图:详细的图解往往比大堆的文字更有说明力,所以直接上图:上图中,演示了快速排序的处理过程:初始状态为一组无序的数组:2、4、5、1、3。经过以上操作步骤后,完成了第一次的排序,得到新的数组:1、2、5、4、3。新的数组中,以2为分割点,左边都是比2小的数,右边都是比2大的数。因为2已经在数组中找到了合适的位置,所以不用再动。2左边的数组只有一个元素1,所以显然不用再排序,位置也被确定。(注:这种情况时,left指针和right指针显然是重合的。因此在代码中,我们可以通过设置判定条件left必须小于right,如果不满足,则不用排序了)。而对于2右边的数组5、4、3,设置left指向5,right指向3,开始继续重复图中的一、二、三、四步骤,对新的数组进行排序。python代码#-*-coding...
排序学习之---选择排序
php代码如下在一列数字中,选出最小数与第一个位置的数交换。然后在剩下的数当中再找最小的与第二个位置的数交换,如此循环到倒数第二个数和最后一个数比较为止。(以下都是升序排列,即从小到大排列) 举例说明: $arr=array(6,3,8,2,9,1); 第一轮: 第一次比较,第一个数6与(3, 8, 2, 9, 1)中3比较,6大,当前最小数为3,位置为1 第二次比较,最小数字3与(3, 8, 2, 9, 1)中8比较,3小,当前最小数为3,位置为1 第三次比较,最小数字3与(3, 8, 2, 9, 1)中2比较,3大,当前最小数为2,位置为3 第四次比较,最小数字2与(3, 8, 2, 9, 1)中9比较,2小,当前最小数为2,位置为3 第五次比较,最小数字2与(3, 8, 2, 9, 1)中1比较,2大,当前最小数为1,位置为5 ...
排序学习之---插入排序
插入排序:每一趟将一个待排序的记录,按照其关键字的大小插入到有序队列的合适位置里,知道全部插入完成。 在讲解直接插入排序之前,先让我们脑补一下我们打牌的过程。先拿一张5在手里,再摸到一张4,比5小,插到5前面,摸到一张6,嗯,比5大,插到5后面,摸到一张8,比6大,插到6后面,。。。最后一看,我靠,凑到全是同花顺,这下牛逼大了。 以上的过程,其实就是典型的直接插入排序,每次将一个新数据插入到有序队列中的合适位置里。很简单吧,接下来,我们要将这个算法转化为编程语言。假设有一组无序序列 R0,R1,...,RN-1。(1) 我们先将这个序列中下标为 0 的元素视为元素个数为 1 的有序序列。(2) 然后,我们要依次把 R1,R2,...,RN-1 插入到这个有序序列中。所以,我们需要一个外部循环,从下标 1 扫描到 N-1 。(3) 接下来描述插入过程。假设这是要将 Ri 插入到前面有序的...
排序学习之---冒泡排序
原理:对一组数据,比较相邻数据的大小,将值小数据在前面,值大的数据放在后面。 (以下都是升序排列,即从小到大排列) 举例说明: $arr=array(6,3,8,2,9,1); $arr有6个数据,按照两两比较大小如下,注意 比较轮数和每轮比较次数 第一轮排序: 第一次比较 6和3比较结果:3 6 8 2 9 1 第二次比较 6和3比较结果:3 6 8 2 9 1 第三次比较 8和2比较结果:3 6 2 8 9 1 第四次比较 8和9比较结果:3 6 2 8 9 1 第五次...
php排序学习之-冒泡排序
原理:对一组数据,比较相邻数据的大小,将值小数据在前面,值大的数据放在后面。 (以下都是升序排列,即从小到大排列) 举例说明: $arr=array(6,3,8,2,9,1); $arr有6个数据,按照两两比较大小如下,注意 比较轮数和每轮比较次数 第一轮排序: 第一次比较 6和3比较结果:3 6 8 2 9 1 第二次比较 6和3比较结果:3 6 8 2 9 1 第三次比较 8和2比较结果:3 6 2 8 9 1 第四次比较 8和9比较结果:3 6 2 8 9 1 第五...