Şimdi Ara

Stm32 C Yazılımı hakkında yardım lazım :(

Bu Konudaki Kullanıcılar:
2 Misafir - 2 Masaüstü
5 sn
2
Cevap
0
Favori
911
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • 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;
    }
    }



  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.