Arama butonu
Bu konudaki kullanıcılar: 1 misafir, 1 mobil kullanıcı
0
Cevap
1236
Tıklama
0
Öne Çıkarma
Stm32 C Yazılımı hakkında yardım lazım :(
K
7 yıl (7739 mesaj)
Yarbay
Konu Sahibi

Merhabalar

ben stm32 bitte tek 7 segment display 9 a kadar saydırma yapıuyorum ama multiplexing tekniği ile aynı portlardan çift display sürmem gerekiyor ve yazılımı 99 a kadar saydırmam gerekiyor yapıyorum yapıyorum olmuyor sizlerde bakarmısınız.

#include <stdio.h>
#include <stdlib.h>
#include "stm32f10x.h"
#include "stm32f10x_rcc.h"
#include "stm32f10x_gpio.h"


void delay_ms(unsigned int nCount); /* zaman geciktime fonksiyon tanimi*/
GPIO_InitTypeDef GPIO_InitStructure; /* port ayarlama fonksiyonu tanimi*/
void goster(unsigned int sayac);
unsigned int sayac=0;
unsigned int sayac1=0;
GPIO_ResetBits(GPIOA, GPIO_Pin_8 );
GPIO_SetBits(GPIOA, GPIO_Pin_9 );
int main(void)
{

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); /*GPIOC Petriph clock enable*/
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOA, &GPIO_InitStructure); /* Configure PC13 in output pushpull mode */
GPIO_SetBits(GPIOA, GPIO_Pin_8 );
GPIO_SetBits(GPIOA, GPIO_Pin_9 );



while(1)
{
for(sayac=0;sayac<10;sayac++)
{goster(sayac);
delay_ms(100);

}
}
}
void delay_ms(unsigned int nCount)
{

unsigned int i,j,k;
for(i=0; i< nCount; i++)
{
for(j=0;j<0x2AFF;j++) {;}
for(k=0;k<0x2AFF;k++) {;}
}
}

void goster (unsigned int sayac)
{
switch (sayac)
{
case 0x0:
GPIO_SetBits(GPIOA, GPIO_Pin_5 | GPIO_Pin_4 | GPIO_Pin_3 | GPIO_Pin_2 | GPIO_Pin_1 | GPIO_Pin_0);

GPIO_ResetBits(GPIOA, GPIO_Pin_6);


break;
case 0x1:
GPIO_SetBits(GPIOA, GPIO_Pin_5 | GPIO_Pin_4 | GPIO_Pin_3 | GPIO_Pin_2 | GPIO_Pin_1);

GPIO_ResetBits(GPIOA, GPIO_Pin_5 | GPIO_Pin_4 | GPIO_Pin_3 | GPIO_Pin_6 | GPIO_Pin_0);

break;
case 0x2:
GPIO_SetBits(GPIOA, GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_6 | GPIO_Pin_1 | GPIO_Pin_0);

GPIO_ResetBits(GPIOA, GPIO_Pin_5 | GPIO_Pin_2);

break;
case 0x3:
GPIO_SetBits(GPIOA, GPIO_Pin_3 | GPIO_Pin_2 | GPIO_Pin_6 | GPIO_Pin_1 | GPIO_Pin_0);

GPIO_ResetBits(GPIOA, GPIO_Pin_5 | GPIO_Pin_4);

break;
case 0x4:
GPIO_SetBits(GPIOA, GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_1 | GPIO_Pin_2);

GPIO_ResetBits(GPIOA, GPIO_Pin_0 | GPIO_Pin_4 | GPIO_Pin_3);

break;
case 0x5:
GPIO_SetBits(GPIOA, GPIO_Pin_0 | GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_2 | GPIO_Pin_3);

GPIO_ResetBits(GPIOA, GPIO_Pin_1 | GPIO_Pin_4);

break;
case 0x6:
GPIO_SetBits(GPIOA, GPIO_Pin_0 | GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_4 | GPIO_Pin_3 | GPIO_Pin_2);

GPIO_ResetBits(GPIOA, GPIO_Pin_1);

break;
case 0x7:
GPIO_SetBits(GPIOA, GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2);

GPIO_ResetBits(GPIOA, GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_6);

break;
case 0x8:
GPIO_SetBits(GPIOA, GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_6);

break;
case 0x9:
GPIO_SetBits(GPIOA, GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3| GPIO_Pin_5 | GPIO_Pin_6);

GPIO_ResetBits(GPIOA, GPIO_Pin_4);

break;
}
}

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.