打印
[demo程序]

Navota开发板精简教程

[复制链接]
2209|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 ivanchowst 于 2017-1-13 09:33 编辑


前言:前两天注册的Navota给我发来了一块板子,正好手上没有项目忙,就试着调试了一下,还好自己有ULINK2Navota这方面不厚道,早期注册的都有送STLINK!表示严正**!
1.      运行环境配置
Keil版本:MDK V4.72,由于21IC网站提供的例程都是基于最新版本Keil运行的,对于我们这些不想升级的用户来不是很方便,因此自己做了个例程。若是有哪些地方说错的,还请大神指正。
若不勾选设置这些,编译时会报错。
Debug和Utilities选项都是常规的设置,需要提前将NV32F100.FLM文件放到对应的Keil安装目录下,才可以在Utilities选项中选中128K的Flash。
2.      工程建立
因为网站上提供的例程都是集成度很高的,不方便了解整个架构,所以就没有用。个人喜欢精简化的东西^_^.
添加StartUp启动文件到工程,值得注意的是在startup_NV32.s文件中
在复位重启时会从名为SystemInit()的函数开始执行,我个人不习惯就把这部分去掉了。
3.      做完以上这些,工程就能顺利编译通过了(当然也能仿真),上图
4.      最后简单的做了一个按键控制LED灯和蜂鸣器,以及500MS的LED闪烁

相关帖子

沙发
lchen_wx| | 2017-1-19 12:29 | 只看该作者
不错

使用特权

评论回复
板凳
ivanchowst|  楼主 | 2017-1-19 14:09 | 只看该作者

版主大人光临,不胜荣幸

使用特权

评论回复
地板
MTCN2013| | 2017-2-15 17:38 | 只看该作者
ulink和jlink比,有什么优势呢,一直没用过ulink?

使用特权

评论回复
5
lt1231| | 2017-2-28 19:17 | 只看该作者
MTCN2013 发表于 2017-2-15 17:38
ulink和jlink比,有什么优势呢,一直没用过ulink?

ulink是支持mdk的,而且只支持mdk。

使用特权

评论回复
6
戈卫东| | 2017-3-28 23:38 | 只看该作者
MTCN2013 发表于 2017-2-15 17:38
ulink和jlink比,有什么优势呢,一直没用过ulink?

如果都买正版,可能会便宜些吧。。。猜的。

使用特权

评论回复
7
ivanchowst|  楼主 | 2017-4-2 17:08 | 只看该作者
今天有空把之前做的开发板功能再完善下,加上温度显示功能,报警设置就懒得做了。幸好开发板提供5V电压输出,不然还得自己加升压电路,至于NTC就拿了一个测量冰箱的,精度没有实际测量过。整体上这个芯片在使用上没出现特别严重的问题,稳定性也行,就是引脚不能单个配置,例如P1 = xx;之类的,不够便利。在这里给一个参考
typedef struct
{
    U8  bit0 : 1;
    U8  bit1 : 1;
    U8  bit2 : 1;
    U8  bit3 : 1;
    U8  bit4 : 1;
    U8  bit5 : 1;
    U8  bit6 : 1;
    U8  bit7 : 1;
    U8  bit8 : 1;
    U8  bit9 : 1;
    U8  bit10 : 1;
    U8  bit11 : 1;
    U8  bit12 : 1;
    U8  bit13 : 1;
    U8  bit14 : 1;
    U8  bit15 : 1;
    U8  bit16 : 1;
    U8  bit17 : 1;
    U8  bit18 : 1;
    U8  bit19 : 1;
    U8  bit20 : 1;
    U8  bit21 : 1;
    U8  bit22 : 1;
    U8  bit23 : 1;
    U8  bit24 : 1;
    U8  bit25 : 1;
    U8  bit26 : 1;
    U8  bit27 : 1;
    U8  bit28 : 1;
    U8  bit29 : 1;
    U8  bit30 : 1;
    U8  bit31 : 1;
}tpBIT;

#define DefineBit(var, bitno)       (((tpBIT *)var)->bitno)
#define RS                          DefineBit(GPIOA_BASE, bit9)     //GPIOB 123
#define RW                          DefineBit(GPIOA_BASE, bit10)
#define EN                          DefineBit(GPIOA_BASE, bit11)
#define LIGHT                       DefineBit(GPIOA_BASE, bit8)
typedef struct
{
    U8 word1 : 8;
    U8 word2 : 8;
    U8 word3 : 8;
    U8 word4 : 8;
}tpWORD;

#define DefineWord(var, wordno)       (((tpWORD *)var)->wordno)
#define DATPORT                       DefineWord(GPIOB_BASE, word2)     //GPIOF
这样就可以直接都单个引脚进行输出了。
最后上图,线路有点乱,没仔细整理,愿见谅^_^

使用特权

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

本版积分规则

11

主题

42

帖子

1

粉丝