打印
[菜农群课笔记]

《看图识字学LOOK》的向导 (2011.6.21)

[复制链接]
3207|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xukaiming|  楼主 | 2011-6-22 10:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
AC, demo, kd, IO, NUC
本帖最后由 hotpower 于 2011-6-22 23:37 编辑

https://bbs.21ic.com/icview-237282-1-1.html
这个链接,主要是网友和菜农老师的LOOK例程
需要下载的工具  MDK4.20
http://www.mcu123.com/news/Soft/embsof/arm/201103/534.html

codesourcery G++ LITE版 GNU工具链下载链接
http://www.codesourcery.com/sgpp/lite/arm/portal/release1802
首先要安装keil在装gcc这样才能在keil环境下,编译

为了运行LOOK
就要安装老师的
所有LOOK的都在:
https://bbs.21ic.com/icview-237282-1-1.html
雁塔菜农(1270688699)
20:40:16
园地https://bbs.21ic.com/iclist-78-1.html有《LOOK操作系统》的专门分类
安装了这三个软件就可以开始LOOK了
雁塔菜农(1270688699)
20:42:06
现在《看图识字学LOOK》开始





最后是0522这个版本的。

静静的雨(154405450)
20:47:31
什么啊
雁塔菜农(1270688699)
20:47:33
这个版本是俺做完11个 LOOK的过程中几次改动后的版本
https://bbs.21ic.com/icview-237809-1-1.html




因为我们需要建立一个新的文件夹

写一个工程名
还用它吧

现在需要选择器件了
我用的是助学板
芯片是nuc120re3an


这里不需要改动

注意:“类名”,“实例名”




LOOK的例程"LOOKDemo"已经建立好了

我们打开Keil4
xp可以直接在文件夹里点击

这是老师为我们生成的例程的任务框架

我们现在什么都没干,但是“地基”已经好了!!!
俺的 vista必须用管理员模式打开
win7不知道
但是俺看到了在win7下运行,而且hotisp也运行的很好

打开工程
[local]15[/local]
LOOKDemo.h
#ifndef __LOOKDEMO_H
#define __LOOKDEMO_H

#include "look_config.h"
#include <look.h>
#include <instantiate>

// 任务类 task_LOOKDemo_t 的定义
class task_LOOKDemo_t : public task_t {
public:
task_LOOKDemo_t() __OPT_ATTR__; // 构造函数

protected:
void routine(); // 任务例程
};

// 任务类 LOOKDEMO 的构造函数
__OPT_INLINE__ task_LOOKDemo_t::task_LOOKDemo_t()
{
// TODO: 在此初始化 task_LOOKDemo_t 的类成员
}

extern instantiate::task<task_LOOKDemo_t, LOOK_STACK_SIZE> task_LOOKDemo;

#endif // __LOOKDEMO_H

雁塔菜农<hotwc3@qq.com>
21:04:06
任务类的定义
雁塔菜农<hotwc3@qq.com>
21:04:19
在H中
雁塔菜农<hotwc3@qq.com>
21:04:35
我们只需在CPP里添加即可
雁塔菜农<hotwc3@qq.com>
21:04:58
当然老师只为我们自动生成了一个任务类
雁塔菜农<hotwc3@qq.com>
21:05:18
现在我们还不知道干些什么
雁塔菜农<hotwc3@qq.com>
21:05:39
因为这只是一个框架
雁塔菜农<hotwc3@qq.com>
21:05:56
你可以做你喜欢的事情
雁塔菜农<hotwc3@qq.com>
21:06:14
俺先抽几口
雁塔菜农<hotwc3@qq.com>
21:06:21
有什么说说
雁塔菜农<hotwc3@qq.com>
21:06:39
现在看图识字有何问题???

















我们现在来构建LOOK的具体任务

https://bbs.21ic.com/icview-233770-1-1.html
我们就先点灯吧
从图中,我们可以看到Led1~Led4
IO是GPA2~GPA5
即PA.2~PA.5
雁塔菜农<hotwc3@qq.com>
21:19:15
现在开始配置LOOK的硬件环境
雁塔菜农<hotwc3@qq.com>
21:19:39
大家知道,一般我们需要特殊寄存器的头文件
雁塔菜农<hotwc3@qq.com>
21:19:54
这里我们采用两个





NUC1xx.h是新唐自带的
nuc1xx系列的 M0头文件
雁塔菜农<hotwc3@qq.com>
21:21:25
由于它没定义到位,有些麻烦

NUC1xxM051Seriescfg.h
把这两个头文件拷贝到LOOK的工程文件夹里
加到cpp或H里

#include "NUC1xx.h"
#include "NUC1xxM051Seriescfg.h"

现在用Keil的脚本配置IO
初始化配置有2个
一个初始化,一个LOOK的
切换到configuration wizard


就可以看到你只需用鼠标点击即可配置了
新唐的 IO有4中模式
输入/输出/开漏/准双向
那么我们选择什么呢???
\实际除输入外,其他三个都可以而且效果完全一样
因为二极管的单向导电性
我们只需输出低电平即可
准双向也一样,无非是弱上拉
所以三个都可以选择我们选择开漏吧
知道开漏吧
如同NPN的OC门
因为初始化一个灯不亮

当然 LOOK已经默认了高,所以我们就不用设置了
雁塔菜农<hotwc3@qq.com>
21:39:20
至此,我们的初始化IO就完成了
雁塔菜农<hotwc3@qq.com>
21:39:25
方便吧
雁塔菜农<hotwc3@qq.com>
21:39:44
实际设置uart,i2c,adc等都是一样的












我们开始填写任务
雁塔菜农<hotwc3@qq.com>
21:41:11
由于我们今天做一个任务
雁塔菜农<hotwc3@qq.com>
21:41:25
就没什么调度算法的考虑了






uint32_t data = 0b00000001;
GPIOAs.DMASK.Regs = ~0b00111100;
GPIOAs.DOUT.Regs = ~(data << 2);
我们先填写这几句
雁塔菜农<hotwc3@qq.com>
21:45:18
注意,这是有问题的
雁塔菜农<hotwc3@qq.com>
21:45:46
注意:每个任务都应该做成一个无限循环


rlogin(15330302)
21:46:38
如果不WHILE(1)会不会把自己给销毁了?
这个程序有几个问题
雁塔菜农<hotwc3@qq.com>
21:52:29
首先它只能LED1常亮
雁塔菜农<hotwc3@qq.com>
21:53:46
再者关键没加延时,即使让它转起来,太快我们肉眼也不能看清楚
雁塔菜农<hotwc3@qq.com>
21:53:52
对吧

我改成了计数器
雁塔菜农<hotwc3@qq.com>
21:56:38
注意:
data++;
data &= 0b1111;

雁塔菜农<hotwc3@qq.com>
21:57:21
data++;
if (data >= 0x10) data=0;

雁塔菜农<hotwc3@qq.com>
21:57:32
两个哪个好???
雁塔菜农<hotwc3@qq.com>
21:57:40
两种写法


第一个不破坏流水线

而且执行时间完全一样
雁塔菜农<hotwc3@qq.com>
22:00:34
第2种就不一样了
雁塔菜农<hotwc3@qq.com>
22:00:59
data++;
if (data >= 0x10) data=0;

雁塔菜农<hotwc3@qq.com>
22:01:18
一位是4个灯,0000~1111
雁塔菜农<hotwc3@qq.com>
22:01:30
所以0x00~0x0f
雁塔菜农<hotwc3@qq.com>
22:01:43
所以>=0x10
雁塔菜农<hotwc3@qq.com>
22:01:50
或>0x0f

untitled10.JPG (36.07 KB )

untitled10.JPG

untitled13.JPG (35.64 KB )

untitled13.JPG

相关帖子

沙发
hotpower| | 2011-6-22 13:10 | 只看该作者
依照惯例传裤子,好好学习,争取250奖励。

使用特权

评论回复
板凳
Swallow_0322| | 2011-6-22 14:02 | 只看该作者
顶!板凳!

使用特权

评论回复
地板
lord_fan| | 2011-6-22 22:56 | 只看该作者
没有板子  有仿真软件否?

使用特权

评论回复
5
hotpower| | 2011-6-22 23:28 | 只看该作者
ARM系列很难软件仿真

使用特权

评论回复
6
hotpower| | 2011-6-22 23:33 | 只看该作者
本次群课编写的LOOK例程源码: LOOKDemo.rar (479.19 KB)

使用特权

评论回复
7
chy117| | 2011-6-23 00:53 | 只看该作者
mark

使用特权

评论回复
8
delong_z| | 2011-6-23 09:27 | 只看该作者
什么时候出个IAR版本的呀?:D

使用特权

评论回复
9
lord_fan| | 2011-6-23 10:50 | 只看该作者
ARM系列很难软件仿真
hotpower 发表于 2011-6-22 23:28


那要怎么开始学习呢?怎么判断程序对错?

使用特权

评论回复
10
hotpower| | 2011-6-23 11:40 | 只看该作者
学习单片机就是烧钱的。
51系列由于硬件模块少,故软件仿真基本可以对付了。
但像arm,最好还是硬件仿真。
得到开发板的途径现在很多,如淘宝,研讨会,以及代理商,也可参加本园地的活动。

使用特权

评论回复
11
abin0415| | 2012-4-29 02:50 | 只看该作者
霸气

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

17

主题

185

帖子

1

粉丝