打印
[MINI51]

Mini51第一帖——工程模板+GPIO

[复制链接]
6097|34
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lixiaoxu2meng|  楼主 | 2012-1-13 14:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 hotpower 于 2012-9-22 12:39 编辑

首先非常感谢新唐,感谢菜农老师,特别感谢9G.
在这里还有个小插曲,板子回来后迫不及待想玩一玩,于是抽出时间建立MDK的工程,编了简单的小程序LED,本来以为会一帆风顺的,哪知道
MDK下载不了,后来以为我的工程没配置对,或者驱动没更新,于是我又重新建工程配置工程,驱动也重装,结果还是不行,试了几遍就是不
行,后来我怀疑应该不是工程的问题,于是我昨天又用ICP试了一下,发现也连接不上读不回来芯片信息,我郁闷了,我试了几十次,也不行
后来没有办法只好找9G,9G让我换了个电容,刚换完好用了连接上了,心情非常激动,以为解决了,但是悲剧又出现了,等我在连接时,又链
接不上了,没办法只能不断地尝试,一下午没干别的。也没弄好,心情极度郁闷。本来想晚上回去弄弄的但是实在没心情,回去后想放松一
下心情 看了个电影—— 杨门女将之军令如山,这个电影实在不怎么地。言归正传,今天上午正好有时间,继续弄,期间又不断地请教9G,
后来发现一个现象就是:一按复位键,电源灯就熄灭,我本人在软件上真的属于菜鸟,硬件更不用提了连鸟屎都谈不上,于是又请教9G,9G
说这个现象不正常,不可能出现这种情况。于是我硬着头皮检查电路,检查了下载板与主板的链接都正常,后来检查了一下板子电压,问题
来了,发现主板的电压2.2V左右,这就不正常了,我又一遍一遍的检查板子,发现偶尔会正常,后来发现个规律就是用手按一下下载板,主
板的电压就正常,我认为是哪里虚焊了,经过仔细检查发现,下载板与主板之间的GND链接(就是那个电阻腿链接的地方)虚焊,上面有1V的
压降,动一动板子还会断,再动动又好了,问题总算找到了,于是赶紧重焊了一下,打开ICP链接成功,特意实验了下,每次都能成功。问题
总算解决了,心情比较复杂,高兴问题解决了,反之我如果掌握一点硬件基础问题解决的也不会这么久,硬件啊真得学点啊。在这里真心的要感谢9G细心的指导。
下面上代码:main文件:
/*---------------------------------------------------------------------------------------------------------*/
/* */
/* Copyright(c) 2009 Nuvoton Technology Corp. All rights reserved. */
/* */
/*---------------------------------------------------------------------------------------------------------*/
#include "includes.h" //包含所需的头文件
/*************************************************************************************
** Function name: main
** Descriptions: 工程模板+ IO口操作
** input parameters: 无
** output parameters: 无
** Returned value: 无
*************************************************************************************/
int main (void)
{
Set_System(); //调用系统初始化函数
while(1)
{
DrvGPIO_ClrBit(E_PORT3, 1); //LED0-ON
delay_ms(200);
DrvGPIO_SetBit(E_PORT3, 1); //LED0-OFF
DrvGPIO_ClrBit(E_PORT3, 6); //LED1-ON
delay_ms(200);
DrvGPIO_SetBit(E_PORT3, 6); //LED1-OFF
DrvGPIO_ClrBit(E_PORT5, 2); //LED2-ON
delay_ms(200);
DrvGPIO_SetBit(E_PORT5, 2); //LED2-OFF
DrvGPIO_ClrBit(E_PORT2, 6); //LED3-ON
delay_ms(200);
DrvGPIO_SetBit(E_PORT2, 6); //LED3-OFF
}
}
hw_config.c文件
#include "includes.h" //包含所需的头文件
/*************************************************************************************
** Function name: Set_System
** Descriptions: 封装一些初始化模块
** input parameters: none
** output parameters: none
** Returned value: none
*************************************************************************************/
void Set_System(void)
{
RCC_Configuration(); //配置系统时钟

GPIO_Configuration(); //配置GPIO
}
/*************************************************************************************
** Function name: RCC_Configuration
** Descriptions: 系统时钟源设置
** input parameters: none
** output parameters: none
** Returned value: none
*************************************************************************************/
void RCC_Configuration(void)
{
UNLOCKREG(); // 对写保护位操作时 需要一次向0x50000 0100写入 0x59,0x16,0x88
DrvSYS_Open(XTL_CLK); // Enable high external clock and use it as system clock (HCLK)
while (DrvSYS_GetChipClockSourceStatus(XTL_CLK) != 1); //等待外部12MHZ晶振就绪
LOCKREG(); // 向“0x5000_0100”写入任何值,就可以重锁保护寄存器
}
/*************************************************************************************
** Function name: GPIO_Configuration
** Descriptions: GPIO配置
** input parameters: none
** output parameters: none
** Returned value: none
*************************************************************************************/
void GPIO_Configuration()
{
DrvGPIO_Open(E_PORT3, E_PIN1, E_IO_OUTPUT); //LED0
DrvGPIO_Open(E_PORT3, E_PIN6, E_IO_OUTPUT); //LED1
DrvGPIO_Open(E_PORT5, E_PIN2, E_IO_OUTPUT); //LED2
DrvGPIO_Open(E_PORT2, E_PIN6, E_IO_OUTPUT); //LED3
}
/*************************************************************************************
** Function name: delay_ms
** Descriptions: 1ms(晶振为12MHZ)延时子程序
** input parameters: count
** output parameters: none
** Returned value: none
*************************************************************************************/
void delay_ms(uint32_t count)
{
uint32_t i,j;
for(i=count;i>0;i--)
for(j=2395;j>0;j--);
}
hw_config.h
#ifndef __HW_CONFIG_H__
#define __HW_CONFIG_H__
void Set_System(void);
void RCC_Configuration(void);
void GPIO_Configuration(void);
void delay_ms(uint32_t count);
#endif
includes.h
#ifndef __INCLUDES_H__
#define __INCLUDES_H__
//库文件
#include <stdio.h>
#include "Mini51.h"
#include "DrvGPIO.h"
#include "DrvSYS.h"
//自己定义的文件
#include "variables.h"
#include "hw_config.h"
#endif

工程截图

运行

压缩包

LI-GPIO.rar

458.92 KB

相关帖子

沙发
Swallow_0322| | 2012-1-13 14:48 | 只看该作者
沙发!最近还没抽出时间玩,年前估计够呛,过两天还要回家接丈母娘来过年...

使用特权

评论回复
板凳
Swallow_0322| | 2012-1-13 14:48 | 只看该作者
9G让你换了哪个电容啊?

使用特权

评论回复
地板
lixiaoxu2meng|  楼主 | 2012-1-13 14:49 | 只看该作者
C2 106换成104

使用特权

评论回复
5
lixiaoxu2meng|  楼主 | 2012-1-13 14:51 | 只看该作者
2# Swallow_0322
三心前辈 模范姑爷啊:lol

使用特权

评论回复
6
Swallow_0322| | 2012-1-13 14:56 | 只看该作者
2# Swallow_0322  
三心前辈 模范姑爷啊:lol
lixiaoxu2meng 发表于 2012-1-13 14:51


(*^__^*) 嘻嘻 老婆还一个月生了,丈母娘是来帮我照顾LP的!

使用特权

评论回复
7
lixiaoxu2meng|  楼主 | 2012-1-13 15:00 | 只看该作者
6# Swallow_0322
恭喜前辈当爸爸了

使用特权

评论回复
8
kyzb001| | 2012-1-13 15:45 | 只看该作者
我发现好多人在这个时候生娃娃  :lol

阳春三月:lol

使用特权

评论回复
9
lixiaoxu2meng|  楼主 | 2012-1-13 15:47 | 只看该作者
8# kyzb001
刻意为之?不会吧:lol

使用特权

评论回复
10
hotpower| | 2012-1-13 16:01 | 只看该作者
非常好!

使用特权

评论回复
11
Cortex-M0| | 2012-1-13 18:56 | 只看该作者
LZ很细心,赞一个~~~

使用特权

评论回复
12
plc_avr| | 2012-1-13 23:02 | 只看该作者
顶!困的不行了,才回来。准备迷糊,MINI51得到年后才能玩了。

使用特权

评论回复
13
lixiaoxu2meng|  楼主 | 2012-1-14 07:44 | 只看该作者
10# hotpower
谢谢老师

使用特权

评论回复
14
lixiaoxu2meng|  楼主 | 2012-1-14 07:44 | 只看该作者
11# Cortex-M0
谢谢123jj

使用特权

评论回复
15
lixiaoxu2meng|  楼主 | 2012-1-14 07:45 | 只看该作者
12# plc_avr
烈火哥最近很累啊

使用特权

评论回复
16
Swallow_0322| | 2012-1-14 07:54 | 只看该作者
6# Swallow_0322  
恭喜前辈当爸爸了
lixiaoxu2meng 发表于 2012-1-13 15:00


谢谢!

使用特权

评论回复
17
Swallow_0322| | 2012-1-14 07:56 | 只看该作者
8# kyzb001  

刻意为之?不会吧:lol
lixiaoxu2meng 发表于 2012-1-13 15:47


刻意为之? 晕!这也能刻意!

使用特权

评论回复
18
lixiaoxu2meng|  楼主 | 2012-1-14 08:00 | 只看该作者
17# Swallow_0322 :lol

使用特权

评论回复
19
Ryanhsiung| | 2012-1-14 08:26 | 只看该作者
顶一下,MINI51的库与100系列的库一样么?
  MINI51能用100系列的库么??
    要是能的话是最好的!!!

使用特权

评论回复
20
lixiaoxu2meng|  楼主 | 2012-1-14 08:44 | 只看该作者
19# Ryanhsiung
不一样 再下个51库吧

使用特权

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

本版积分规则

个人签名:淡定,不以物喜,不以己悲。

0

主题

1679

帖子

2

粉丝