<font size="3"><strong>Mailboxes(邮箱)</strong></font>
ti.sysbios.knl.Mailbox模块提供了一系列函数管理mailboxes。Mailboxes可用于在相同处理器的两个task中传递缓冲。一个Mailbox实例可用于多个readers和writers。
Mailbox模块拷贝缓冲到合适尺寸的内部缓冲。这些缓冲的尺寸和个数在Mailbox实例创建时指定。拷贝在通过Mailbox_post()发送缓冲时建立。另外一份拷贝在通过Mailbox_pend()接收缓冲时建立。
蝴蝶效应理论想必大家都很清楚,而就在十年前的六月,意法半导体(以下简称ST)在北京首发了全球首款采用ARM Cortex-M3 内核的处理器STM32 F3,与此同时,选择了一只蝴蝶作为产品的Logo,正是这只蝴蝶,搅乱了整个MCU市场。
<font size="3"><strong>单片机执行指令过程详解</strong></font>
单片机执行程序的过程,实际上就是执行我们所编制程序的过程。即逐条指令的过程。计算机每执行一条指令都可分为三个阶段进行。即取指令-----分析指令-----执行指令。
取指令的任务是:根据程序计数器PC中的值从程序存储器读出现行指令,送到指令寄存器。
分析指令阶段的任务是:将指令寄存器中的指令操作码取出后进行译码,分析其指令性质。如指令要求操作数,则寻找操作数地址。
1、 OTA Over The Air 空间无线升级,本文通过手机实现对BlueNRG-1的OTA代码更新。
<center><img src="http://mcu.eetrend.com/files/2017-06/wen_zhang_/100006570-20440-11.jpg&…; alt="一步步教你BlueNRG-1的OTA"></center>
2、 需要准备工具:
1、 BlueNRG-1 demo:STEVAL-IDB007V1
<strong>Gates(门)</strong>
Gates是用于防止并发访问代码关键区域的设备。各种门关于如何锁住关键区域的实现并不一样。
线程可以被更高优先级线程抢占,一些代码段在被另一个线程执行前需要被一个线程执行完毕。使用代码改变关键区域的全局变量这样的普通应用需要通过Gate来进行保护。
Gates通常用于禁用一些级别的抢占,如禁用task切换或甚至硬件中断,或用于二元semaphore。通过使用一个key,所有Gate实现支持嵌套。
任何一款MCU,其基本原理和功能都是大同小异,所不同的只是其外围功能模块的配置及数量、指令系统等。对于指令系统,虽然形式上看似千差万别,但实际上只是符号的不同,其所代表的含义、所要完成的功能和寻址方式基本上是类似的。
因此,对于任何一款MCU,主要应从如下的几个方面来理解和掌握:
<font size="3" color="blue">MCU的特点</font>
要了解一款MCU,首先需要知道就是其ROM空间、RAM空间、IO口数量、定时器数量和定时方式、所提供的外围功能模块、中断源、工作电压及功耗等等。
很多MCU开发者对MCU晶体两边要各接一个对地电容的做法表示不理解,因为这个电容有时可以去掉。笔者参考了很多书籍,却发现书中讲解的很少,提到最多的往往是:对地电容具稳定作用或相当于负载电容等,都没有很深入地去进行理论分析。
而另外一方面,很多爱好者都直接忽略了晶体旁边的这两个电容,他们认为按参考设计做就行了。
但事实上,这是MCU的振荡电路,又称“三点式电容振荡电路”,如图1所示。
<font color="#FF8000">PIC16F19197单片机系列集成了电池友好型LCD驱动、独立于内核的外设及智能模拟功能</font>
Microchip Technology Inc日前推出了用于驱动液晶显示器(LCD)、集成独立于内核的外设(CIP)与智能模拟的全新低功耗单片机(MCU)系列产品。由9款器件组成的PIC16F19197家族包含了电池友好型LCD驱动电荷泵、带计算功能的12位模拟数字转换器(ADC2)、低功耗比较器以及高频振荡器的有源时钟调谐功能。
它们是首个针对广受欢迎的低功耗、电池供电且带触摸功能的LCD应用而优化的8位MCU系列。
<font size="3"><strong>信号量(Semaphores)</strong></font>
SYS/BIOS在semaphores的基础上提供了一系列用于任务间同步和通信的函数。Semaphore通常用于协调访问一系列竞争任务间的共享资源。Semaphore模块提供的函数通过Semaphore_Handle类型句柄来操作semaphore对象的访问。参阅video introducing Semaphores进行概览。
Microcontroller(微控制器)又可简称MCU或μC,也有人称为单芯片微控制器(Single Chip Microcontroller),将ROM、RAM、CPU、I/O集合在同一个芯片中,为不同的应用场合做不同组合控制。微控制器在经过这几年不断地研究,发展,历经4位,8位,到现在的16位及32位,甚至64位。产品的成熟度,以及投入厂商之多,应用范围之广,真可谓之空前。
<font size="3"><strong>The Idle Loop</strong></font>
dle Loop是 SYS/BIOS中的后台线程,在没有Hwi、Swi或Task时持续运行。任何其它线程在任何时间可抢占Idle Loop。
Idle管理器允许你在Idle Loop中插入函数运行。在configured. Idle_loop中会调用的每个Idle对象所相联的函数。Idle Loop每次调用一个函数,并在一个连续循环中往复调用所有函数。
所有Idle线程都按顺序运行于相同的优先级。函数按照创建的顺序依次运行。一个Idle函数必须完成后才会开始另一个Idle函数。当最后一个Idle函数完成,则又重新运行第一个Idle函数。
在STM32上开发LCD显示,可以有两种方式来对LCD进行操作,一种是通过普通的IO口,连接LCM的相应引脚来进行操作,第2种是通过FSMC来进行操作。
<center><font size="3"><strong> 1. LCD/LCM的基本概念</strong></font></center>
液晶显示器(Liquid Crystal Display: LCD)的构造是在两片平行的玻璃当中放置液态的晶体,两片玻璃中间有许多垂直和水平的细小电线,透过通电与否来控制杆状水晶分子改变方向,将光线折射出来产生画面。
<font size="4"><strong> Task Hooks示例</strong></font>
下例使用了单个Task hook集。此例演示了如何读写每个hook集关联的Hook上下文指针。
首先是C代码:
作者:郭子仁
—本文摘自新通讯杂志 2017 年 194 期《 趋势眺望 》
据Gartner最新预测,2017年个人与商用无人机的市场规模将高达60亿美元,三年后更将成长到112亿美元,且出货量将达300万架,因此,无人机已被视为未来的明星产业。商用无人机竞争激烈,唯有发展专业技术,建立竞争门槛,才能避免沦为价格厮杀。
无人机的风行缘起于以空拍为主要用途的四轴飞行器,随之发展出各种创新应用,如:送货无人机、作战无人机与载客无人机等,引发了各界对于无人机未来应用的憧憬;2016年「双11」购物季开打,京东以无人机送货为宣传重点,宣称可以无人机送货解决广大农村最后一公里的配送难题。
作者:abatei
看了下TI公司的开发工具Code Composer studio(CCS),基于eclipse,比Ubuntu下的vi好用得多了。实在是不喜欢在Linux下开发,太麻烦,无代码追踪,学习起来太不方便。TI公司有自己的操作系统TI-RTOS,我看了下,注释超级详细,代码编写堪称典范,如获至宝啊,看来商业代码和开源代码还是有区别的。最终决定用TI-RTOS来学习CC2650芯片。接下来就是考虑使用SensorTag还是CC2650DK进行学习了。对于单片机学习来说,肯定CC2650DK更为方便,自带模拟器,电路相对简单,引脚方便连接,更重要的是有一块LCD显示屏。那就CC2650DK吧,如此昂贵的一块开发板不用实在是暴殄天物。至于RPL,先放一放吧,搞清楚底层再往上走。
<font size="3" color="blue"><strong>3.6 Tasks</strong></font>
SYS/BIOS task对象是由Task模块管理的线程。Tasks的优先级高于Idle Loop并低于硬件中断和软件中断。参阅video introducing Tasks进行概览。
Task模块基于task的优先级和当前task的运行状态动态地安排和抢占tasks。 这确保了处理器永远运行那些拥有最高优先级的线程。tasks的优先级总共有32个级别,默认优先级是16。MSP430和C28x的最高优先级是16。最低优先级0保留用于运行Idle Loop。
<strong>3.4 硬件中断</strong>
硬件中断(Hwis)是应用为了回应外部异步事件所必须处理的关键进程。SYS/BIOS中特定target/device的Hwi模块用于管理硬件中断。请阅读概述,请参考document introducing Hwis。
在典型的嵌入式系统中,中断由装置周边设备或由外部设备传给处理器。两种情况都使中断由处理器导向ISR地址。任何影响Swi和Task调度的SYS/BIOS APIs中断处理都必须使用C或C++编写。早期SYS/BIOS版本所为调用汇编语言所使用的HWI_enter()/HWI_exit宏都不再提供。
单片机现在可谓是铺天盖地,种类繁多,让开发者们应接不暇,发展也是相当的迅速,从上世纪80年代,由当时的4位8位发展到现在的各种高速单片机……
各个厂商们也在速度、内存、功能上此起彼伏,参差不齐~~同时涌现出一大批拥有代表性单片机的厂商:Atmel、TI、ST、MicroChip、ARM…国内的宏晶STC单片机也是可圈可点…
下面为大家带来51、MSP430、TMS、STM32、PIC、AVR、STC单片机之间的优缺点比较及功能体现……
<font size="4" color="blue"><strong>51单片机</strong></font>
<font color="#FD8900">PIC32MZ DA MCU借助MPLAB® Harmony工具和支持,简化了24位彩色大屏幕的图形设计</font>
Microchip日前宣布推出<a href="http://www.microchip.com/PIC32MZDA_Main681">32位PIC32MZ DA</a>单片机(MCU)系列,这是业界首款具有集成2D图形处理单元(GPU)和高达32 MB集成DDR2存储器的MCU。
CC2650DK这块开发板最大的优点就是自带一块128*64像素的液晶显示屏,用多块板在室外做实验时可以脱离电脑,这是非常有用的。今天就来讲讲这块液晶的使用。当然,先上例子再详细讲解。
需要注意,这块液晶所使用的驱动需要手动引入,插麻烦。
1.打开CCS,选择菜单【Project】-->【New CSS Project】,弹出New CSS Project对话框:
2.【Connection】组合框选择“Texas Instruments XDS100v3 USB Debug Probe”调试器。
3.给工程起名:【Project name】写上“demo_LCDDisplay”。





