打印
[匠人手记]

《两轮小车DIY》之《LCD模块》(动态更新)

[复制链接]
楼主: 程序匠人
手机看帖
扫描二维码
随时随地手机跟帖
21
程序匠人|  楼主 | 2009-3-18 08:27 | 只看该作者 回帖奖励 |倒序浏览

神经啊,做两轮小车用的着汉显吗

两轮车的重点是平衡控制。显示只是为了调试时停供一些信息。以后做好了连这个1602都是多余。

技术够用即好,不是拿来炫耀的。欧耶!

使用特权

评论回复
22
xwj| | 2009-3-18 08:37 | 只看该作者

神经啊,汉显几块钱就能实现,1602要20,大家说谁是神经啊

使用特权

评论回复
23
程序匠人|  楼主 | 2009-3-18 08:58 | 只看该作者

神经啊,汉显俺要去买,1602俺有现成的,大家说谁是神经啊

使用特权

评论回复
24
xwj| | 2009-3-18 08:59 | 只看该作者

呵呵,当然是匠人神经

^_^
           

使用特权

评论回复
25
程序匠人|  楼主 | 2009-3-18 09:01 | 只看该作者

晕,理屈词穷啦。。。。

使用特权

评论回复
26
xwj| | 2009-3-18 09:05 | 只看该作者

只有神经才以为别人都是神经啊,你开口就是神经,你不神经

使用特权

评论回复
27
程序匠人|  楼主 | 2009-3-18 09:08 | 只看该作者

老x不会生气了吧,匠人跟你熟才这么说的

道歉。。。。。。。。。。。。。。。。。。。。。。

使用特权

评论回复
28
xwj| | 2009-3-18 09:15 | 只看该作者

哈哈,老x才不生气呢,老x也是因为跟你熟才这么说的:-)





小小声的说:
老x是在故意强词夺理呢,
嘎嘎嘎嘎...

使用特权

评论回复
29
程序匠人|  楼主 | 2009-3-18 09:21 | 只看该作者

嘎嘎嘎嘎...

使用特权

评论回复
30
computer00| | 2009-3-18 09:38 | 只看该作者

圈圈对你们两个表示无语...

使用特权

评论回复
31
程序匠人|  楼主 | 2009-3-18 10:58 | 只看该作者

我们两个对圈圈的签名表示无语。。。。。

哈哈

使用特权

评论回复
32
huangqi412| | 2009-3-18 15:47 | 只看该作者

晕,两个人一个劲嘎嘎,两只神经鸭子夜里乱叫,哈哈哈哈

嘎嘎完了冒出蛋蛋(COMPUTER00),,,一人下一个蛋...哈哈  原来鸭子和**相反,是先嘎嘎然后生蛋的,,,哈哈哈哈哈哈哈哈哈

使用特权

评论回复
33
xwj| | 2009-3-18 16:45 | 只看该作者

哈哈,总比LS的鸭子半夜想mm想得睡不着觉 好啊...

做人就要做的光明正大啊,发了帖又删掉算什么男人啊???


相关链接:https://bbs.21ic.com/club/bbs/list.asp?boardid=17&page=1&t=3267948&tp=...

使用特权

评论回复
34
huangqi412| | 2009-3-18 18:33 | 只看该作者

汗 ,LS同学被拍砖头就搞人身诽谤攻击了... 555......

使用特权

评论回复
35
xwj| | 2009-3-18 20:45 | 只看该作者

汗 ,证据确凿,还想抵赖。

使用特权

评论回复
36
kbgyzp| | 2009-3-19 20:45 | 只看该作者

匠人,我想看看你的SysTick_Delay()这个函数的内容

以前在网上看过在系统滴答中用的这种延时函数,感觉有漏洞,想看看高手的者的函数。

如果有好几个地方调用这个延时函数,还准吗?

使用特权

评论回复
37
程序匠人|  楼主 | 2009-3-19 21:16 | 只看该作者

好几个地方调用这个延时函数,当然不行啦

使用特权

评论回复
38
程序匠人|  楼主 | 2009-3-19 21:18 | 只看该作者

Delay_ms.c —— ms级延时模块(基于SysTick)

//--------------------------------------------------------
// 项目:通用
// 模块:ms级延时模块(基于SysTick)
// 说明:
// 设计:程序匠人(版权所有,引用者请保留原作者姓名)
//--------------------------------------------------------
/*
版本说明:
Delay_ms.c    2009-3-11 21:12:30


*/
//--------------------------------------------------------
//本模块使用步骤:
//--------------------------------------------------------
/*
步骤1.把本文件"Delay_ms.c"插入项目中
步骤2.把"stm32f10x_systick.c"库文件插入项目中
步骤3.修改系统文件"stm32f10x_conf.h",使能下面这句:
  #define _SysTick
步骤4.在"common.h"文件尾,插入"Delay_ms.h"头文件,如下:
  #include "Delay_ms.h"       //ms级延时模块(基于SysTick) 头文件
步骤5.在"stm32f10x_it.c"文件及所有需要调用延时函数的c文件起始处,添加下面这句: 
  #include  "common.h"
步骤6.在"main()"函数初始化段中,调用"SysTick_Configuration()",执行SysTick初始化设置.
步骤7.打开"stm32f10x_it.c"文件,在"SysTickHandler()"中断函数中,调用"TimingDelay_Decrement()"函数.如下:
  void SysTickHandler(void)
  {
    TimingDelay_Decrement();  //TimingDelay递减函数
  }
步骤8.应用代码示例:
  SysTick_Delay(300);         // 延时 300ms

*/
//--------------------------------------------------------
//插入文件包
//--------------------------------------------------------
#include  "common.h"
//--------------------------------------------------------


//--------------------------------------------------------
//SysTick初始化设置
//说明: 本函数由"main()"函数初始化段调用
//--------------------------------------------------------
void SysTick_Configuration(void)
{
  SysTick_CLKSourceConfig(SysTick_CLKSource_HCLK_Div8);   //配置SysTick的时钟源=为AHB(系统时钟)的1/8
  SysTick_SetReload(9000);                      //设置SysTick的重载值=9000.当系统时钟=72MHz,中断频率=1000Hz(周期1ms)
  SysTick_ITConfig(ENABLE);                     //使能SysTick中断
}

//--------------------------------------------------------
//TimingDelay递减函数
//说明: 本函数由"SysTickHandler()"中断调用
//--------------------------------------------------------
void TimingDelay_Decrement(void)
{
  if (TimingDelay != 0x00) TimingDelay--;       //TimingDelay不为0,则递减


//--------------------------------------------------------
//延时函数
//入口: nTime=延时时间(单位=ms)
//--------------------------------------------------------
void SysTick_Delay(u32 nTime)
{
  SysTick_CounterCmd(SysTick_Counter_Enable);   //使能SysTick计数器
  TimingDelay = nTime;                          //读取延时时间
  while(TimingDelay != 0);                      //判断延时是否结束
  SysTick_CounterCmd(SysTick_Counter_Disable);  //关闭SysTick计数器
  SysTick_CounterCmd(SysTick_Counter_Clear);    //清除SysTick计数器
}

//--------------------------------------------------------
//延时启动函数
//说明:    本函数与SysTick_Delay_Check()配对使用
//入口: nTime=延时时间(单位=ms)
//--------------------------------------------------------
void SysTick_Delay_Start(u32 nTime)
{
  SysTick_CounterCmd(SysTick_Counter_Enable);   //使能SysTick计数器
  TimingDelay = nTime;                          //读取延时时间
}

//--------------------------------------------------------
//延时结束判断函数
//说明:    本函数与SysTick_Delay_Start()配对使用
//出口: 如果延时结束,关闭SysTick,并返回1;否则不关闭SysTick,并返回0
//--------------------------------------------------------
u8 SysTick_Delay_Check(void)
{
  u8 i = 0;

    if (TimingDelay == 0)                                  //判断,如果延时是否结束
    {
      SysTick_CounterCmd(SysTick_Counter_Disable);  //关闭SysTick计数器
      SysTick_CounterCmd(SysTick_Counter_Clear);    //清除SysTick计数器
    i = 1;
    }
    else                                                                                        //如果延时未结束
    {
    i = 0;
  }
  return i;
}

//--------------------------------------------------------
//
//  THE END
//
//  版权所有:程序匠人(引用者请保留原作者姓名)
//
//--------------------------------------------------------

使用特权

评论回复
39
程序匠人|  楼主 | 2009-3-19 21:19 | 只看该作者

Delay_ms.h

//--------------------------------------------------------
// 项目:通用
// 模块:ms级延时模块(基于SysTick)
// 说明:
// 设计:程序匠人(版权所有,引用者请保留原作者姓名)
//--------------------------------------------------------
/*
版本说明:
Delay_ms.h    2009-3-11 22:18:40


*/
//--------------------------------------------------------
//变量定义
//--------------------------------------------------------
EXT_ vu32 TimingDelay;                                        //延时计数器

//--------------------------------------------------------
//函数声明
//--------------------------------------------------------
extern void SysTick_Configuration(void) ;     //SysTick初始化设置(由"main()"函数初始化段调用)
extern void TimingDelay_Decrement(void) ;     //TimingDelay递减函数(由"SysTickHandler()"中断调用)
extern void SysTick_Delay(u32 nTime) ;        //延时函数(入口:nTime=延时时间(单位=ms))

extern void SysTick_Delay_Start(u32 nTime);    //延时启动函数(入口:nTime=延时时间(单位=ms))
extern u8 SysTick_Delay_Check(void);                //延时结束判断函数()出口: 如果延时结束,关闭SysTick,并返回1;否则不关闭SysTick,并返回0




//--------------------------------------------------------
//
//  THE END
//
//  版权所有:程序匠人(引用者请保留原作者姓名)
//
//--------------------------------------------------------

使用特权

评论回复
40
hotpower| | 2009-3-19 21:29 | 只看该作者

不错~~~不过H头文件要构成“桥”才更便捷~~~

使用特权

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

本版积分规则