有关UCOS_II在LPC1768上的应用】的更多相关文章

https://www.cnblogs.com/chungshu/archive/2012/12/14/2818380.html…
最近再UCOSIII+LPC1768上移植modbus,在定时器初始化部分竟然跑飞进入 EXPORT  App_Fault_ISR,查资料.逛论坛.问大牛都没有解决,最后发现竟然是犹豫一个低级失误引起的: 定时器的功率电源没有打开,造成相关寄存器无法访问随之进入 EXPORT  App_Fault_ISR. 一般情况下进入 EXPORT  App_Fault_ISR需要检查: 1 是否硬件存在:比如只有2个定时器你非得访问定时器3 2外设功率开关/时钟是否打开:在没打开的情况下访问相关寄存器是肯…
在看uCOS II V2.91版本源代码时,在ucos_ii.c源文件中发现下面的代码: #include <os_core.c> #include <os_flag.c> #include <os_mbox.c> #include <os_mem.c> #include <os_mutex.c> #include <os_q.c> #include <os_sem.c> #include <os_task.c>…
一.背景: 使用LPC1769来做CAN的收发,在此对使用LPC1769的CAN控制器进行收发做个总结和记录,以备下 次开发快速上手使用. 附:LPC1768/1769除了支持最高频率不同以外,其它基本上一致. 二.正文: 先贴一张LPC1769 CAN控制器的方框图: . 由上图可见,整个CAN控制器一头是CPU,另一头是CAN收发器: CAN收发器负责CAN数据与CAN网络的通信.CAN内核模块解析和封装要发送到CAN收发器以及从CAN 收发器发过来的数据,此处CAN内核工作由硬件自行完成.…
本文在uCOS II上增加时间片任务调度的的原理: 对设置为同优先级的任务使用时间片调度,不同优先级任务仍然使用uCOS II的优先级调度策略.在同优先级任务的时间片调度中,所有任务暂时时间片长度固定,时间片的调度使用FIFO(先进先出)队列. 整体的描述参看下图. 上图中假设有3个优先级为5的任务,3个优先级为8的任务.纵向,第一列的OS_TCB形成OSTCBList双向链表(通过OSTCBNext和OSTCBPrev指针,这是原uCOS II系统已经有的部分).横向,通过OSPSPrev和O…
1. 知识准备 要想对ucos-ii的移植有较深的理解,需要两方面知识: (1)目标芯片,这里是lpc17xx系列芯片,它们都是基于ARMv7 Cortex-M3内核,所以这一类芯片的ucos-ii移植几乎都是一样的,要想了解Cortex-M3内核,推荐<ARM Cortex-M3权威指南>(宋岩译): (2)ucos-ii内核原理,推荐<嵌入式实时操作系统uC/OS-II(第2版)>(邵贝贝译). 2. 下载文件 ucos-ii移植过程主要涉及三个文件:os_cpu.h, os_…
LPC1768芯片带有USB设备控制器,前面写的文章都是在说比较简单的设备驱动,今天来说复杂一点的 首先是硬件层的配置 #ifndef __USBHW_H__ #define __USBHW_H__ #include "debugSerial.h" #include "usbreg.h" #include "usb.h" #include "usbuser.h" #include "usbcfg.h" #i…
LPC1768的外部中断严格来说只有四个,分别是EINT0,EINT1,EINT2,EINT3,技术手册上有如下说明 控制这四个外部中断靠以下寄存器 这三个寄存器的0 1 2 3位分别代表中断的0 1 2 3,EXTINT寄存器表示中断是否发生,在发生中断的时候该寄存器会置位,可以通过写1清零,EXTMODE寄存器表示触发模式,有电平触发和变化沿触发两种,EXTPOLAR与EXTMODE,在电平触发模式下,决定高电平还是低电平触发,在变化沿触发的情况下决定上升沿还是下降沿触发 这三个中断分别相关…
LPC1788通用IO口的控制包含了一些基本的组件,比如设置推挽输出,开漏输出,上拉电阻等,我们今天来看看. 首先使用GPIO要打开GPIO的系统时钟   LPC_SC->PCONP |= (1<<15);//gpio 时钟 然后需要选择我们选定引脚的功能,有些引脚有多个功能,通过寄存器可以从中选择一个   之后是设置相关引脚的外部电阻状态pinmode寄存器   然后设置开漏方式pinmode_od 到这里,引脚的基本功能就OK了,此时要操作GPIO还需要设置几个东西 输入输出方向FI…
下载代码 stm32 标准外设库是 stm32 全系列芯片的外设驱动,有了它能够大大加速我们 开发 stm32. 首先从 st 公司的站点下载最新的 stm32 标准外设库,写本文时最新的版本号是 V3.5.0. 解压该 zip 文件.得到例如以下目录和文件 STM32F10x_StdPeriph_Lib_V3.5.0\  _htmresc  Libraries  Project  Utilities  Release_Notes.html  stm32f10x_stdperiph_lib_um…
来博客园有一个月了,哈哈.在这里学到了很多东西.今天也来试着分享一下学到的东西.希望能和大家做朋友共同进步. 最近由于项目需要上传多张图片,对于我这只菜鸟来说,以前上传图片都是直接拖得控件啊,而且还是一次只能传一张.由于现在 项目用的是MVC,像Asp那样 拖控件 是不现实了.在我脑海中立刻就浮现出一个想法,网上一定有插件,哈哈.去网上一搜索,哇哦这么多.在众多的插件中我被百度的WebUploader吸引了.官网上写着:"WebUploader是由Baidu WebFE(FEX)团队开发的一个简…
一.进程标识 进程ID 0是调度进程,常常被称为交换进程(swapper).该进程并不执行任何磁盘上的程序--它是内核的一部分,因此也被称为系统进程.进程ID 1是init进程,在自举(bootstrapping)过程结束时由内核调用.该进程的程序文件在UNIX的早期版本中是/etc/init,在较新版本中是/sbin/init.此进程负责在内核自举后启动一个UNIX系统.init通常读与系统有关的初始化(/etc/rc*文件),并将系统引导到一个状态(例如多用户).init进程决不会终止.它是…
工作后好久没上博客园了,虽然不是很忙,但也没学生时代闲了.今天上博客园,发现好多的文章都是年终总结,想想是不是自己也应该总结下,不过现在还没想好,等想好了再写吧.今天写写自己在工作后用到的技术干货,争取以后多上博客园写写总结吧,真是怀念学生时代啊!!! 背景 项目组开发的游戏客户端使用的脚本是python,服务器也是python.之所以选择python,主要还是基于开发效率的考虑,毕竟这是脚本语言天生的优势:其次就是有很多库,不用自己再造轮子了.可能使用过python的同学都会认为python比…
背景 在网站开发中,文件上传是很常见的一个功能.相信很多人都会遇到这种情况,想传一个文件上去,然后网页提示"该文件过大".因为一般情况下,我们都需要对上传的文件大小做限制,防止出现意外的情况. 但是在有些业务场景中,大文件上传又是必须的,比如邮箱附件,或者内部OA等等. 问题 服务端为什么不能直接传大文件?跟php.ini里面的几个配置有关 upload_max_filesize = 2M //PHP最大能接受的文件大小 post_max_size = 8M //PHP能收到的最大PO…
1.概述 相信使用过Redis 的各位同学都很清楚,Redis 是一个基于键值对(key-value)的分布式存储系统,与Memcached类似,却优于Memcached的一个高性能的key-value数据库. 在<Redis设计与实现>这样描述: Redis 数据库里面的每个键值对(key-value) 都是由对象(object)组成的: 数据库键总是一个字符串对象(string object); 数据库的值则可以是字符串对象.列表对象(list).哈希对象(hash).集合对象(set).…
1.jquery.uploadify简介 在ASP.NET中上传的控件有很多,比如.NET自带的FileUpload,以及SWFUpload,Uploadify等等,尤其后面两个控件的用户体验比较好,无刷新,带上传进度等等.在最近的短信平台开发中,使用Uploadify进行文件上传. Uploadify官网地址是:http://www.uploadify.com/ 可满足项目开发需求. 下载地址:http://www.uploadify.com/wp-content/uploads/files/…
新的项目我们想用ASP.NET Core来开发,但是苦于我们历史的遗产很多,比如<使用 JavaScriptService 在.NET Core 里实现DES加密算法>,我们要估计等到.NET Core 1.2我们才会有大部分的API,通过NodeJs方式有点曲线救国的味道,很多人会不认同,如果要在纯的.NET Core下运行我们的ASP.NET Core项目,在特定的时间进度内很难办到,不仅仅我们所依赖的一些API还没有,还有我们大量的.NET Framwork的库还来不及迁移到.NET S…
众所周知,Red Hat和微软正在努力使.NET Core成为Red Hat企业版Linux (RHEL)系统上的一流开发平台选项.这个团队已经一起工作好几个月了,RHEL对.NET有许多需求.今天在RedHat 峰会DevNation 上宣布了.NET Core & ASP.NET Core 1.0 RTM.Red Hat有一个新的关于在RHEL上更简单的使用.NET Core的选项.(DevNation是一场全栈开发大会,将共同探讨开源的最优秀特性.DevNation 2016由50多场小分…
在Windows 7 SP1 电脑上执行Cake的的例子 http://cakebuild.net/docs/tutorials/getting-started ,运行./Build.ps1 报下面的错误 PS D:\Workshop\GitHub\cakebuildexample> ./build.ps1 -Target Default Preparing to run build script... Join-Path : 无法将参数绑定到参数"Path",因为该参数是空值.…
写在前面 AutoMapper目录: [AutoMapper官方文档]DTO与Domin Model相互转换(上) [AutoMapper官方文档]DTO与Domin Model相互转换(中) [AutoMapper官方文档]DTO与Domin Model相互转换(下) 未完待续... 本篇目录: Flattening-复杂到简单 Projection-简单到复杂 Configuration Validation-配置验证 Lists and Array-集合和数组 Nested mapping…
由于ASP.NET Web API具有与ASP.NET MVC类似的编程方式,再加上目前市面上专门介绍ASP.NET Web API 的书籍少之又少(我们看到的相关内容往往是某本介绍ASP.NET MVC的书籍“额外奉送”的),以至于很多人会觉得ASP.NET Web API仅仅是ASP.NET MVC的一个小小的扩展而已,自身并没有太多“大书特书”的地方.而真实的情况下是:ASP.NET Web API不仅仅具有一个完全独立的消息处理管道,而且这个管道比为ASP.NET MVC设计的管道更为复…
NoSql数据库这个概念听闻许久了,也陆续看到很多公司和产品都在使用,优缺点似乎都被分析的清清楚楚.但我心里一直存有一个疑惑,它的出现究竟是为了解决什么问题? 这个疑惑非常大,为此我看了很多分析文章,但却总感觉是隔靴搔痒.为了一探究竟,半年前我决定用Mongodb这个著名的NoSql数据库做个产品试试.只有在真实的使用环境中才能得到最贴切的感受. 一晃眼,半年过去了,现在我能用亲身的体会来谈谈NoSql数据库存在的理由和试图解决的问题了.就像所有的哲学思考都来源于对日常活动的观察一样,我们也从最…
前台需求分析 一:用户模块 注册 前台JS校验 使用AJAX完成对用户名(邮箱)的异步校验 后台Struts2校验 验证码 发送激活邮件 将用户信息存入到数据库 激活 点击激活邮件中的链接完成激活 根据激活码,查询数据库中是否有该用户: 如果有则激活,否则不激活: 登录 输入用户名.密码.验证码(前台,后台数据校验) 用户名.密码都正确同时用户状态必须是激活状态 退出 销毁session.   二:一级分类模块 查询一级分类 将一级分类存入session中(每个页面都一样的数据) 查询某个一级分…
TODO:macOS上ThinkPHP5和Semantic-UI集成 1. 全局安装 (on OSX via homebrew)Composer 是 homebrew-php 项目的一部分 2. 把Xcode升级到8.1后继续安装Composer 3. 使用composer创建TP5项目MWL-Dispatch composer create-project topthink/think MWL-Dispatch 4. 配置apache,设置Virtual hosts, 在httpd.conf中…
呃 (⊙o⊙)…,逆天好久没写SQL了,EF用的时间长了,SQL都不怎么熟悉了......[SQL水平比较菜,大牛勿喷] 方法很多种,说个最常见的处理 因为id是自增长的,所以一般情况下下一篇文章的ID都是大于当前文章ID的(guid的主键不适合这种方法,不根据创建时间排序的不适合[博客园文章都是根据创建时间]) EF的写法:(参考) 有其他约束的可以往上加(比如文章不能被标记为删除等) var articleOne = ArticleService.PageLoad(a => a.Id < …
运维相关:http://www.cnblogs.com/dunitian/p/4822808.html#iis 先注册一个nuget账号https://www.nuget.org/ 下载并安装一下NuGetPackageExplorer:https://github.com/NuGetPackageExplorer/NuGetPackageExplorer 创建一个包(vs其实也是可以制作的,我这边说最简单的方法) 添加资源包并修改metadata 保存一下 先说第一种上传方法: 自带的上传:…
LOT.UI分解系列汇总:http://www.cnblogs.com/dunitian/p/4822808.html#lotui LoT.UI开源地址如下:https://github.com/dunitian/LoTCodeBase/tree/master/LoTUI 先看在LoT.UI里面的应用效果图: 懒人福利:http://www.cnblogs.com/dunitian/p/5535455.html(一句代码直接实现) 关键代码解析:(https://github.com/dunit…
SQLSERVER聚集索引与非聚集索引的再次研究(上) 上篇主要说聚集索引 下篇的地址:SQLSERVER聚集索引与非聚集索引的再次研究(下) 由于本人还是SQLSERVER菜鸟一枚,加上一些实验的逻辑严谨性, 单写<SQLSERVER聚集索引与非聚集索引的再次研究(上)>就用了12个小时,两篇文章加起来最起码写了20个小时, 本人非常非常用心的努力完成这两篇文章,希望各位看官给点意见o(∩_∩)o 为了搞清楚索引内部工作原理和结构,真是千头万绪,这篇文章只是作为参考,里面的观点不一定正确 有…
这个功能必须在“红石-1”(build 14393)以上的系统版中才能使用,运行在一台设备上的应用,可以通过URI来启动另一台设备上的应用.激活远程应用需要以下前提: 系统必须是build 14393或以上版本,UWP应用必须使用14393或以上版本的SDK开发. 被启动的应用应当支持协议激活,比如Cortana的协议URI为:[ms-cortana:],当然如果是你自己开发的应用,可以自己定义一个协议,名字随便取,不要跟系统的协议或别人的应用冲突就行,比如:[haha:][zxzx:]等. 必…
双核浏览器下在chrome内核中使用uploadify总有302问题,也不知道如何修复,之所以喜欢360浏览器是因为帮客户控制渲染内核: 若页面需默认用极速核,增加标签:<meta name="renderer" content="webkit"/> 若页面需默认用ie兼容内核,增加标签:<meta name="renderer" content="ie-comp"/> 若页面需默认用ie标准内核,增加…