打印

帮看一下这段程序

[复制链接]
2219|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
1656a3375|  楼主 | 2009-10-15 14:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
pi, gp, IO, GPIO, ni
void   cd_4094(unsigned char d)
{
   unsigned char i,temp;
   temp=d;
  for(i=0;i<8;i++)     //写八位数据进CD4094;
  {
   if(temp&0x01)     //判断并发串行数据;
    {
   GPIO_SetBits(GPIOA, GPIO_Pin_5);   //发高电平;
     }
   else     
    {
    GPIO_ResetBits(GPIOA, GPIO_Pin_5);      //发低电平;
    }
    GPIO_ResetBits(GPIOA, GPIO_Pin_4);      //形成上升延脉冲;
     
    GPIO_SetBits(GPIOA, GPIO_Pin_4);
    temp>>=1;      //数据移位,送下一位数据;
   }
}
主函数中
     {
      cd_4094(0x60)
      GPIO_SetBits(GPIOA, GPIO_Pin_6);
       for(i=2;i>0;i--);
       GPIO_ResetBits(GPIOA, GPIO_Pin_6);
       }
GPIO设置 GPIO_InitStructure.GPIO_Pin =    GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_OD;
    GPIO_Init(GPIOA, &GPIO_InitStructure);
用STM32的PA4,PA5,PA6与CD4094作显示,为什么显示混乱?
请师傅们指点一下:
沙发
aozima| | 2009-10-15 14:56 | 只看该作者
本帖最后由 aozima 于 2009-10-15 14:58 编辑
GPIO_Mode_Out_OD;
要加上拉
另外,4094的第一脚要先设置为高电平吧
建议不要用4094,还是595爽

使用特权

评论回复
板凳
1656a3375|  楼主 | 2009-10-15 15:01 | 只看该作者
stm32的那个口不用上拉就可以用于和4094相联

使用特权

评论回复
地板
aozima| | 2009-10-15 15:32 | 只看该作者
本帖最后由 aozima 于 2009-10-15 15:35 编辑

当OD输出的时候,只能输出低电平吧,输出高电平要用上拉吧?

另外,4094不像595有输出二级锁存,也会引起显示混乱吧...

还有,显示混乱,乱成什么样子呢?
发0x00全为高电平?
发0xFF有的为低电平?这些不讲清楚,原理图也没有....神仙也看不出所以然来

使用特权

评论回复
5
1656a3375|  楼主 | 2009-10-15 15:54 | 只看该作者
硬件就是stm32F103RBT6

使用特权

评论回复
6
1656a3375|  楼主 | 2009-10-15 16:00 | 只看该作者
最小系统;用PA4与四位由CD4094+2803作显示的时钟相连,PA5与四位由CD4094+2803作显示的选通相连,PA6与四位由CD4094+2803作显示的数据相连,第一个CD4094的DAT位与PA6相连,第二个的CD4094R DAT与第一个的CD4094的Q‘S相联。

使用特权

评论回复
7
1656a3375|  楼主 | 2009-10-15 16:01 | 只看该作者
现在我想是不是数据根本就没送过去的?

使用特权

评论回复
8
aozima| | 2009-10-15 17:59 | 只看该作者
现在我想是不是数据根本就没送过去的?
1656a3375 发表于 2009-10-15 16:01

1脚要为高时才能发出去.....
说了半天也舍不得放个图....

使用特权

评论回复
9
1656a3375|  楼主 | 2009-10-15 18:08 | 只看该作者
谢谢!aozima.
不是我不放图的,我是买的STM32开发板和我原有的一块四位显示板相联,作显示的,四位显示板是CD4094+2803+四位数码管,我没有了它的图。
我整理一下把它发上去!

使用特权

评论回复
10
ST_ARM| | 2009-10-20 13:56 | 只看该作者
按照二楼的说法,加上上拉电阻就可以了。

使用特权

评论回复
11
1656a3375|  楼主 | 2009-10-21 22:33 | 只看该作者
谢谢大家,已决解了,就是加上上拉电位就OK了!

使用特权

评论回复
12
火箭球迷| | 2009-10-22 21:58 | 只看该作者
讨论中解决问题,很好

使用特权

评论回复
13
gxgclg| | 2009-10-23 08:01 | 只看该作者
要不要用上拉,主要要看电流

使用特权

评论回复
14
xsgy123| | 2009-10-23 08:25 | 只看该作者
混乱是完全不对吗,程序逻辑没什么问题

使用特权

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

本版积分规则

10

主题

153

帖子

0

粉丝