小狼毫–在中文状态下使用英文标点

DevLabs Post in 未分类,Tags:
0

1.首先从 https://gist.github.com/lotem/2334409 得到英文标点的设置文件,保存为alternative.yaml.

2.在Win7下使用 开始->所有程序->小狼毫输入法->[小狼毫]用户文件夹 打开用户文件夹. 其具体路径为 C:\Users\用户名\AppData\Roaming\Rime (假设系统装在C盘).

3.将上述文件alternative.yaml复制到用户文件夹中.

4.创建一个文件名与输入方案文件名相同,二级扩展名(.yaml之前)为.cu[......]

全文

在STM32F429 Discovery上运行RT-Thread实时操作系统

DevLabs Post in RT-Thread,Tags: , ,
0

RT-Thread是国产的一款优秀的实时操作系统, 以前在玩MSP430的时候就想一试了, 但因为工作中并不会接触到操作系统, 加之个人时间有限, 一直没得如愿. 前段时间买了STM32F429 Discovery的板子, 在对STM32有了基本了解和能对其简单操作之后, 就想着上系统一试. 一来我对一个模块一个模块的做试验这种为了学习而学习的方法没有兴趣, 找一个有趣的任务边做边学更符合我的习惯; 二来以前也从没接触过嵌入式操作系统, 对操作系统总感觉有一种神秘感, 希望可以从RTT开始对操作系统一探究竟. 嗯,[......]

全文

Linux内核kfifo探秘

DevLabs Post in C语言,Tags:
0

今天在查资料时有人提到Liunx Kerenl中的kfifo实现很巧妙, 于是查了一下, 想一览究竟, 也好与自己写的对比对比, 看看差距:)

Linux Kernel中的kfifo代码可以在这里看到.
配合别的资料看了两遍, 懂了. 实现确实很巧妙, 尤其是读写指针回绕, 并且in和out一直增长,但却能保证kfifo里面相关数据计算始终正确.

代码不再搬过来分析了, 我根据它改装了一个fifo, 以适用于嵌入式环境, 但主要逻辑是一样的. 下面是在PC上进行测试的代码, 边看边分析.

kfifo对于缓存的大小是有[......]

全文

STM32串口通迅–使用中断方式

DevLabs Post in ARM,Tags: , ,
0

在上一节串口通讯中使用了查询方式, 在少量数据传输应用中, 这种方法基本可行, 但如果通迅数据量比较大的话会对系统实时性造成很大的影响, 所以在实际工程运用中, 查询的方法并不多见.
一个较好的方法就是利用空间换时间, 用一个缓存区加中断进行数据发送和接收, 以减少不必要的等待的时间, 提高系统的实时性.
为了提高空间利用率, 最常用的方法是采用一个环形队列做为接收/发送缓存, 配合中断, 可很好的完成数据接收/传送, 在时间和空间中取得一个平衡.  有关环形队列的知识, 这里不多做介绍, 可参考相关资料.

[......]

全文

STM32F4 USART配置

DevLabs Post in ARM,Tags: ,
0

对于串口就不多罗嗦了, 虽然串口是一种比较古老的接口, 速度较慢, 在计算机上早已淘汰, 但是由于它结构简单, 使用方便, 或许也由于在计算机上使用过有基础支撑(单片机就是在走曾经电脑走过的路), 在嵌入式系统中依然使用相当广泛.
在STM32F429中, 一共有8个串口, 4个USART, 4个UART.

今天要实现的目标, 就是让STM32向串口发送数据到电脑, 让它正真的输出”Hello World!”!
还是使用以前的工程, 不过工程结构略有更改, 如下图:

prj

tree

 

不同于以前, 我现在选择把整[......]

全文

IAR non-native end of line sequence detected 警告的解决方法

DevLabs Post in ARM,Tags:
0

 

IAR的警告:
Warning[Pa050]: non-native end of line sequence detected (this diagnostic is only issued once).

先来说说这个警告产生的原因: 在Windows中换行符使用<CR><LF>来表示换行, 在UNIX类系统中则使用<LF>. 当一个文件从一个系统转换到另外一个系统, 因为换行符的定义不同, 就会产生问题.

知道了原因, 但问题依然不好解决. 有时候可能有几百个上[......]

全文