这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » (NRF24L01驱动成功)hanshuyujifen2的 ARM DIY进程贴

共191条 6/20 |‹ 4 5 6 7 8 9 ›| 跳转至
高工
2012-04-08 01:49:44     打赏
51楼
你是来看我烧片子的吗?好吧!我告诉你,刚才又挂了一个max3232。第四个了!第四片max3232在发送三千多个数据之后,又挂了!

高工
2012-04-09 21:11:48     打赏
52楼
使用库函数中的例子驱动液晶中。驱动不起来。
正在逐步排查。。。
先检查FSMC是否配置正确。
循环向LCD地址写入0xAAAA  和0X5555,示波器测量引脚,发现这样的波形,很不好看:

之后延时一下,看见的是这样的波形:

说明FSMC有输出了,可以用了。。呵呵
下边之剩下LCD的初始化序列了。
不知道为什么,读不出来SSD1289的RAM,也写不进去数据。问了问卖我LCD的老板,给我的例子好像还有错。。。。。晕呢

高工
2012-04-09 22:22:09     打赏
53楼
优库发了俩视频  审核中

高工
2012-04-10 21:57:10     打赏
54楼
本帖两个内容
1、今天又买了一堆东西,MAX3232买的六块一片的进口的。

2、晚上实验按键。GPIO按键输入  和中断输入实验成功。
使用ST库的模板,用着相当的舒服。
工程文件比较大,先列出来代码。下边是代码:
   
    //按键SW1 初始化为GPIO输入。
    STM_EVAL_PBInit(BUTTON_KEY,Mode_GPIO);
    //初始化按键SW2为中断输入,功能为熄灭所有LED
    STM_EVAL_PBInit(BUTTON_TAMPER,Mode_EXTI);
    //按键输入,LED灯反转
    while(1)
    {
        if (STM_EVAL_PBGetState(BUTTON_KEY) == 0x00)
        {
            //去抖动
            delay(10);
            if (STM_EVAL_PBGetState(BUTTON_KEY) == 0x00)
            {
                STM_EVAL_LEDToggle(LED1);
                  STM_EVAL_LEDToggle(LED2);
                  STM_EVAL_LEDToggle(LED3);
                  STM_EVAL_LEDToggle(LED4);
            }
        }
    }

按键SW1的中断处理函数应该在stm32f10x_it.c中定义,因为SW1是13号脚,所以定义了外部中断15~10服务程序void EXTI15_10_IRQHandler(void),代码如下:
//外部中断15~10服务程序
void EXTI15_10_IRQHandler(void)
{   
    //清除中断标志
    EXTI_ClearITPendingBit(TAMPER_BUTTON_PIN);
    //熄灭LED   
    STM_EVAL_LEDOff(LED1);
      STM_EVAL_LEDOff(LED2);
      STM_EVAL_LEDOff(LED3);
      STM_EVAL_LEDOff(LED4);   
    printf("I am in key interrupt..\n\r");
    //while(1);
}


其中函数STM_EVAL_PBInit()、STM_EVAL_LEDToggle和函数STM_EVAL_PBGetState()是示例工程里边提供的。这里只要定义好相关按键引脚即可使用,引脚定义改改例子工程里边的定义就行了。。。。我比较懒,,
按键引脚IO定义如下:
/**
 * @brief Wakeup push-button
 */
#define WAKEUP_BUTTON_PIN                GPIO_Pin_0
#define WAKEUP_BUTTON_GPIO_PORT          GPIOA
#define WAKEUP_BUTTON_GPIO_CLK           RCC_APB2Periph_GPIOA
#define WAKEUP_BUTTON_EXTI_LINE          EXTI_Line0
#define WAKEUP_BUTTON_EXTI_PORT_SOURCE   GPIO_PortSourceGPIOA
#define WAKEUP_BUTTON_EXTI_PIN_SOURCE    GPIO_PinSource0
#define WAKEUP_BUTTON_EXTI_IRQn          EXTI0_IRQn
/**
 * @brief Tamper push-button 板子上的SW2
 */
#define TAMPER_BUTTON_PIN                GPIO_Pin_13
#define TAMPER_BUTTON_GPIO_PORT          GPIOC
#define TAMPER_BUTTON_GPIO_CLK           RCC_APB2Periph_GPIOC
#define TAMPER_BUTTON_EXTI_LINE          EXTI_Line13
#define TAMPER_BUTTON_EXTI_PORT_SOURCE   GPIO_PortSourceGPIOC
#define TAMPER_BUTTON_EXTI_PIN_SOURCE    GPIO_PinSource13
#define TAMPER_BUTTON_EXTI_IRQn          EXTI15_10_IRQn
/**
 * @brief Key push-button    板子上的SW1
 */
#define KEY_BUTTON_PIN                   GPIO_Pin_11
#define KEY_BUTTON_GPIO_PORT             GPIOF
#define KEY_BUTTON_GPIO_CLK              RCC_APB2Periph_GPIOF
#define KEY_BUTTON_EXTI_LINE             EXTI_Line11
#define KEY_BUTTON_EXTI_PORT_SOURCE      GPIO_PortSourceGPIOF
#define KEY_BUTTON_EXTI_PIN_SOURCE       GPIO_PinSource11
#define KEY_BUTTON_EXTI_IRQn             EXTI15_10_IRQn


懒人代码  仅供参考  不建议把玩

助工
2012-04-10 22:52:41     打赏
55楼
来学习

助工
2012-04-10 23:29:27     打赏
56楼
羡慕有示波器的电工。

高工
2012-04-11 21:18:06     打赏
57楼
今天休息,调板子发现发现LCD的BUG。
问题及解决方法在这里http://forum.eepw.com.cn/thread/210374/1

因为LCD一组没有驱动起来,为了排除LCD的问题。
于是用别人的板子试了下,使用GPIO驱动。发现LCD能点亮。

于是在群里边讨论,emusic告诉我板子LCD部分有BUG,原理图和PCB不符。
于是拿三用表测,果然十个BUG。解决之后,开始驱动LCD。
弄了一下午,画出来圆和矩形。
下面是效果图:








助工
2012-04-11 21:49:56     打赏
58楼
这是用的ST的GUI驱动起来的吗?

高工
2012-04-12 08:24:28     打赏
59楼
LZ的果然神速啊,呵呵,加油~!

高工
2012-04-12 09:16:53     打赏
60楼
怎么回事?没这么脆弱吧
我这调串口调了快两天了都没啥问题啊 
可能是假货的原因吧,max的太泛滥了,下次用SPX系列的的试试

共191条 6/20 |‹ 4 5 6 7 8 9 ›| 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]