参考的正点原子的代码 测试平台 stm32f429i-disco 配了一个gpio 时钟 gpio /* USER CODE BEGIN 0 */ typedef uint8_t u8; typedef uint32_t u32; u8 fac_us; void delay_init(u8 SYSCLK) { #if SYSTEM_SUPPORT_OS //?????? OS. u32 reload; #endif HAL_SYSTICK_CLKSourceConfig(SYSTICK_CLKS…
DMA_FLAG_TCIF0_4就是指DMA的通道0和通道4,DMA_FLAG_TCIF1_5就是指DMA的通道1和通道5,DMA_FLAG_TCIF2_6就是指DMA的通道2和通道6,DMA_FLAG_TCIF3_7就是指DMA的通道3和通道7. 所以在STM32F429中,使用DMA进行串口发送的时候,串口1使用DMA_FLAG_TCIF3_7检查发送状态,串口2使用DMA_FLAG_TCIF2_6,串口3使用DMA_FLAG_TCIF3_7,可以对照手册中的DMA通道表找到对应的通道号.…
参考:https://blog.csdn.net/toopoo/article/details/80012317https://blog.csdn.net/morixinguan/article/details/94414622https://blog.csdn.net/Wekic/article/details/83040285https://blog.csdn.net/ouening/article/details/79252770…
1 STM32的三种开发方式 通常新手在入门STM32的时候,首先都要先选择一种要用的开发方式,不同的开发方式会导致你编程的架构是完全不一样的.一般大多数都会选用标准库和HAL库,而极少部分人会通过直接配置寄存器进行开发.网上关于标准库.HAL库的描述相信是数不胜数.可是一个对于很多刚入门的朋友还是没法很直观的去真正了解这些不同开发发方式彼此之间的区别,所以笔者想以一种非常直白的方式,用自己的理解去将这些东西表述出来,如果有描述的不对的地方或者是不同意见的也可以大家提出. 一.直接配置寄存器不少…
1 STM32的三种开发方式 通常新手在入门STM32的时候,首先都要先选择一种要用的开发方式,不同的开发方式会导致你编程的架构是完全不一样的.一般大多数都会选用标准库和HAL库,而极少部分人会通过直接配置寄存器进行开发.网上关于标准库.HAL库的描述相信是数不胜数.可是一个对于很多刚入门的朋友还是没法很直观的去真正了解这些不同开发发方式彼此之间的区别,所以笔者想以一种非常直白的方式,用自己的理解去将这些东西表述出来,如果有描述的不对的地方或者是不同意见的也可以大家提出. 一.直接配置寄存器不少…
一.STM32CubeMX 简介 STM32CubeMX 是 ST 意法半导体近几年来大力推荐的STM32 芯片图形化配置工具,目的就是为了方便开发者, 允许用户使用图形化向导生成C 初始化代码,可以大大减轻开发工作,时间和费用,提高开发效率.STM32CubeMX几乎覆盖了STM32 全系列芯片. 二.CubeMx需要安装的组件 JRE(Java Runtime Environment) Java运行环境 运行JAVA程序所必须的环境的集合,由于java的安装比较简单,这里我就不详细说明了.…
通过STM32CUBEMX生成DMA读写sdio的工程,再读写过程中总会卡死在DMA中断等待读写完成的while中,最终发现while等待的标志在SDIO的中断里置位的,而SDIO中断优先级如果小于或等于DMA中断优先级,则SDIO中断永远不能抢占DMA中断,DMA处于持续等待中,解决办法由两种,一种是直接提高SDIO中断优先级到比DMA中断优先级高,第二种是直接在HAL库中卡住的中断等待函数中注释掉while等待. 另外还有一点就是在SDIO数据读写的时候需要注意的两点,一个是读写数据最好四字…
Piosa 博客园 博问 闪存 首页 新随笔 联系 管理 订阅 随笔- 79  文章- 0  评论- 13    ARC简介以及工程中ARC与非ARC的混合   ARC与非ARC在一个项目中同时使用, 1,选择项目中的Targets,选中你所要操作的Target,2,选Build Phases,在其中Complie Sources中选择需要ARC的文件双击,并在输入框中输入:-fobjc-arc,如果不要ARC则输入:-fno-objc-arc 混用没有问题,没有用ARC的代码继续坚持谁申请谁释…
1.中断触发过程 对主程序压栈--把中断服务函数的地址写入到程序计数器(PC)--执行中断服务函数 2.中断向量表 中断服务函数的地址在STM32的手册上的中断向量表中(如下是一部分): 如上表所示,EXTI0中断服务函数的地址是0x00000058.意思就是如果触发了外部中断那么就从0x00000058地址开始执行,这个地址的函数可以在HAL库的启动文件中找到. 很明显,EXTI0的中断服务函数的函数名是:EXTI0_IRQHandler EXTI0~EXTI4是独立的,9~5共用中断源,15…
hal库中keil5中编译的速度是比较慢的,相同情况下,每次都要编译的时候,比标准库是要慢很多的,因此就hal库编译成lib文件是一种加快编译速度的方法,当然也有其自身的缺点.一.步骤1.使用cubemx4.27做一个简单的系统,clock.rcc.sys.swd等配置好,其他可以不用配置.这里我使用了freertos,因此sys使用了tim6,并添加了swo的功能. 2.生成keil工程3.去掉不相关的文件,如下图所示 4.修改stm32f1xx_hal_conf.h文件,因为你在其他工程中,…
下载Fatfs文件管理系统:http://elm-chan.org/fsw/ff/archives.html 下载最新版本 在工程中新建Fatfs文件夹,把fatfs文件中的全部复制过来 由于Fatfs需要底层驱动文件,stm32就需要自行提供驱动SD卡的接口函数,也就是提供SDIO的驱动文件 去st官网下载对应自己板子的standard peripheral library,下载方法:进官网直接搜STM32F103ZE,然后找到software 打开下载的STM32 官方库3.5版本\stm3…
之前一直使用标准库的,现在转到HAL库来后,编写了第一个程序就遇到了问题.发现我使用库里的延时程序HAL_Delay()时,会卡死在里面. 根据程序,进入到这个延时程序后 ,发现HAL_GetTick()取来的数字一直没有变化,才发现是因为 __weak uint32_t HAL_GetTick(void) { return uwTick; } 程序中的值没有变化,搜uwTick后发现,其值由另一个程序进行处理, __weak void HAL_IncTick(void) { uwTick++;…
转载自: http://www.oschina.net/question/146385_37793?sort=time 下面就Servlet侦听器结合Java定时器来讲述整个实现过程.要运用Servlet侦听器需要实现javax.servlet.ServletContextListener接口,同时实现它的contextInitialized(ServletContextEvent   event)和contextDestroyed(ServletContextEvent   event)两个接…
项目需求一改再改,UI一调再调,结果就是项目中一堆已经用不到但却没有清理的垃圾资源,不说工程大小问题,对新进入项目的人或看其他模块的代码的人来说,这些没清理的资源可能也可能会带来困扰,所以最好还是清理掉这些垃圾,对于一个稍微大一点的工程来说,手工清理明显是不现实的,这就需要一个方法做这些事情. 清理资源文件 要清理没用的资源,首要的工作当然是找到他们,我们知道Anroid SDK中有一个工具叫lint,可以帮助我们查看工程中存在的问题,其中有一项功能就是查找没用到的资源,这样这一步就简单了,直接…
一直想抽空整理一下unity原生工程导入iOS原生工程中的详细步骤.做iOS+vuforia+unity开发这么长时间了.从最初的小小白到现在的小白.中间趟过了好多的坑.也有一些的小小收货.做一个喜欢总结的人.好了废话不多说了.上干货.本人用的是unity 5.4.0f3 + Xcode 7.2.个人认为这个版本的影响不是很大的. 一.unity导出工程一开始是这样子的: 二.unity导入原生工程的准备工作. 1.将一些必要的文件导入iOS Native工程中去 1>将Classes 和 Li…
首先要确定你的CEGUI已经完全编译好,若未进行这一步请参照http://www.cnblogs.com/wenguang1996/p/5027522.html 打开VS2012新建C++工程,然后添加源文件,这不多说. 接下来我们就要开始在自己的工程中使用CEGUI了. 一.添加包含目录 右键点击工程->属性->配置属性->VC++目录->包含目录 添加E:\VTK\CEGUI\CEGUI8.4\cegui-0.8.4\cegui\include(CEGUI源文件下的cecui文…
我这几天一直在研究Qt的串口程序,在读懂了官方给出的实例程序后我决定把其多线程的串口监视程序加入到我自己的工程中,便直接把问价复制到自己的工程下面,在Qt中加入到自己的工程中,但是总是出现LNK2019问题,问题提示是新添加的文件链接错误.我在网上找到一种解释: 在pro里 写 qt+=widgets 表示引入 QtWidget这个module,qmake会在帮你生成makefile的时候,设置好include path 和 lib path,在link时候设置好libs.而仅在源代码里 inc…
构建VS工程时预处理值是不可缺少的,如动态库的导出配置等.在通过CMake构建VS工程时,可以通过CMake命令进行定义,下面讲三种应用. 字符集:默认装填下VS工程是多字节字符集,如果需要使用Unicode字符集,可以用下面命令进行设置: Add_Definitions(-DUNICODE -D_UNICODE) 动态库导出:Lib_DLL为自定义变量名 Add_Definitions(-DLib_DLL) MFC的使用:如果在工程中调用了MFC的函数,需要配置在动态库中使用MFC或者在静态库…
在js中,延迟执行函数有两种,setTimeout和setInterval,用法如下: function testFunction(){Console.log('hovertree.com');} setTimeout("testFunction()","6000"); //6000毫秒后执行testFunction()函数,只执行一次. setInterval("testFunction()","6000");//每隔600…
由于SDK现在大部分都是OC版本, 所以假如你是一名主要以Swift语言进行开发的开发者, 就要面临如何让OC和Swift兼容在一个工程中, 如果你没有进行过这样的操作, 会感觉异常的茫然, 不用担心, 整个过程非常简单. 在已有的Swift工程中, 当你需要使用OC的类文件, 或者需要集成SDK时, 创建你需要的OC的类文件, 创建结束后, 会提示生成一个桥接头文件, 点击蓝色Create按钮. *OC工程也一样, 只是要进行相反的操作, 在需要创建OC文件的时候创建一个Swift的文件 *创…
文章内容概述: spring项目组其实有多个projects,如spring IO platform用于管理external dependencies的版本,通过定义BOM(bill of materials)来管理所引入的external dependencies的版本,从而避免版本冲突问题,再如spring web flow项目,专门为构建流形式的web application提供支持.除了刚刚所叙述的这两个project之外,spring社区还有若干其他project,分别可应用于不同ap…
三.web工程中URL地址的推荐写法 使用c标签<c:url value="" /> 会自动添加项目名 -> value中的值 前面要加 “/” 在JavaWeb开发中,只要是写URL地址,那么建议最好以"/"开头,也就是使用绝对路径的方式,那么这个"/"到底代表什么呢?可以用如下的方式来记忆"/":如果"/"是给服务器用的,则代表当前的web工程,如果"/"是给浏览器…
这几天是被java的环境搞疯了,我先是搭了一个spring+springmvc+mybatis的工程,在家里跑了一下,没有问题,把工程带到公司里用,却一直不能使用. 按常理来说,只要工程发生一点变化,tomcat都会自动重启,自动重新reload.但是我发现我在公司无论怎么改,tomcat没有一点变化,都是之前的工程状态. 原因是因为之前,我把Build Automaticlly给去掉了.导致了eclipse不能及时的把编译文件build到指定目录中去. 勾上了就能同步上去了. 后来,我想了一下…
近期在学习activiti,打算基于现有的框架,比如activiti-explorer或者咖啡兔的示例工程 kft-activiti-demo,在此基础上添加自己的业务流程,看看是否可以走通,以及这个过程要走通,需要编写哪些方面的代码,然后选定使用kft-activiti-demo来作为试点,由于公司的网络无法连接maven库,所以选择了kft-activiti-demo-no-maven版本来测试,由于对java技术栈不熟悉,所以搭建环境的过程中引出了各种问题,下面将详细记录搭建的步骤,以避免…
虽然在Android.mk文件中,配置了LOCAL_C_INCLUDES路径,但是工程中的红色叉号一直提示找不到头文件 这时,你在工程树目录中展开Includes项,捣鼓捣鼓,重新build下,或许就出来了 要是还没出来: 右击工程-Properties-C/C++ General-Paths and Symbols-Includes-Add...…
问题:在工程中引用出现感叹号 原因1:  这是由于之前引用的Dll文件不见了. 右键有感叹号的项,然后选择 “属性” 里边有一个路径属性 这个路径就是之前这个Dll文件的路径,现在这个文件不在了,你需要找到现在这个文件的路径 右键有感叹号的项,然后选择“移除” 右键“引用”,选择添加引用,然后选择那个不在的dll的真实路径 其他的项用相同的方式处理 原因2:可能是引用的.Net版本高于了当前工程的.Net版本 1.更改所引用的工程文件的.Net版本…
res文件夹存放资源文件 src文件夹是主要的程序代码 app.js是实现游戏场景的JavaScript文件 resource.js在src文件夹中,定义资源对应的变量 config.json保存模拟器运行配置信息 project.json是项目的配置信息 index.html是Web工程的首页 main.js与首页index.html对应的JavaScript文件,负责启动游戏场景 index.html代码: <!DOCTYPE html> <html> <head>…
iOS 工程中文件变成红色是原有的文件路径改变了,系统找不到了.…
一.Jar包的导出 1.在Package Explorer中选中项目,右键,点击“Export”   2.在弹出框一次选择Java-->JAR file,点击Next   3.在新弹出的窗口选择Jar报的保存路径并为Jar包命名,点击Finish,包导出完毕   4.在Javadoc保存目录中点击“index.html”即可看见生成好的帮助文档 二.Javadoc:自定义Jar包的说明文档的导出 1.在Package Explorer中选中项目,右键,点击“Export”   2.在弹出框一次选…
我的项目是Win32,先使用了 Standard Windows Libraries,可后期又要要使用MFC的dll,所以要更改工程属性 ,MFC 的dll可以使用了,但标准的windows的dll出了一大堆链接错误,于是上网查阅资料. 解决办法如下: 一.使用/MD选项,并在你的工程属性里添加 _AFXDLL 的定义(右键工程名->properties->C/C++->Preprocessor这一页下有Preprocessor Definitions 在这里添加) 二.使用/MT选项,…