20 Ekim 2018, 04:18:31

Haberler:

Eposta uyarılarını yanıtlamayınız ( ! ) https://bit.ly/2J7yi0d


STMF103C8T6 STM CUBE MX VE KEIL DERS1 GPIO

Başlatan skara1214, 08 Kasım 2016, 02:10:16

Sya

Hocam elinize sağlık çok güzel olmuş. Register anlatımı da çok faydalı olur bence. İnşallah i2c,spi ve daha ilerisini de görmek nasip olur.. :)

adenon

Hocam harika bir eğitime başlamışsınız teşekkürler. Bugün yüklediğiniz videoda Timer uygulamasında TIM1->CCR1 = 500 diyoruz. Registerlara hakim olmadığımdan belki bilmiyorum ama ben bu komutu anlayamadım. CCR1 register adresi mi oluyor ? Bu komut ile 500 değeri duty cycle ımızın pulse değeri mi oluyor? öyle ise cubemx içerisinde pulse ayarlamamızın mantığı nedir ?  Tekrardan bu güzel eğitim için teşekkürler. :) :) :)

skara1214

bu soruyu o videonun altında sorsaydın keşke. TIM1->CCR1 TIM1_ CAPTURE COPARE PWM registerinin degeri oluyor. atadığın değerde duty cyclein değeri oluyor. Videoda ayrıntılı anlatmıştım, sadece 1 kere duty cycle ayarlayıp ondan sonra hiç değiştirmek istemiyorsan  cubemx de ayarlama yapıp bırakıyorsun.
Herkes ölür ama herkes gerçekten yaşamaz

adenon

Tesekkürler hocam şimdi daha iyi oturdu  :)

adenon

Hocam bir kaç adet pwm sinyali üretmek istiyorum fakat faz farkı olmasını da istiyorum. Darbe değerlerim hep aynı kalsın yani counter period 42000 ise pulse değerim hep 14000 olsun fakat sinyallerde faz farkı olsun. söylediklerimi görselle desteklemek gerekirse ;



bunu yapmak istediğimde pulse un geç başlaması gerekiyor bunu kod içerisinde yapabilmem mümkün delay ile fakat bu global değişikliklere olanak sağlamayacak diye düşünüyorum. Ne gibi bir yol izlemem gerekir hocam ?

skara1214

sorularınızı o  videonun konusu altına yazarsanız başka okuyanlar içinde kolaylık olur. Sorunuza gelince; aynı timer içinde zor ama farklı timerlar arası başlatırken delay koyarak faz farkı yaratabilirsiniz.
Herkes ölür ama herkes gerçekten yaşamaz

adenon


adenon

Hocam 2. derste kullandığınız define kısımlarını ve ADC_CALIBRATION fonksiyonunu forumda paylaşacağım demişsiniz ama bulamadım. Yardımcı olabilir misiniz.

skara1214

Herkes ölür ama herkes gerçekten yaşamaz

adenon



Jamesbond79

STM32F103C8T6 Minimum System Board basit led yak söndür uygulaması yapmak istedim fakat kodu işlemciye yüklememe rağmen çalışmadı kod gönderildi gözüküyor daha önce kendi üzerinde pc13 bağlı led yan sön yaparken şimdi çalışmıyor dışarıdan bağladım farklı pinlerdede ledler yanmıyor st link keil ve cubemx sorun yok nedeni hala anlamadım acil yardım..bu kart arduino uyumlu bir kart işlemci sizin seriyle aynı sorun nedir?..

Jamesbond79

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


void Delay_ms(unsigned int nCount);      /* Private function */
GPIO_InitTypeDef GPIO_InitStructure;   /* Private typedef */

int main(void){   
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);   /* GPIOC Periph clock enable */
   
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_Init(GPIOC, &GPIO_InitStructure);   /* Configure PC13 in output pushpull mode */

while(1){
GPIO_ResetBits(GPIOC, GPIO_Pin_13); /* Clears the Pin_13 */
Delay_ms(2000000);   
GPIO_SetBits(GPIOC, GPIO_Pin_13);      /* Sets the Pin_13 */
Delay_ms(2000000);   
}
   
}
void Delay_ms(unsigned int nCount){
unsigned int i, j;
for(i = 0; i < nCount; i++)
   { 
     for(j = 0; j < 0x2AFF; j++){;}
   }
}
bu kod çalıştı
#include "main.h"
#include "stm32f1xx_hal.h"
int main(void)
{
   
    HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_RESET);
   HAL_GPIO_WritePin(led2_GPIO_Port, led2_Pin, GPIO_PIN_RESET);
   
//HAL_GPIO_TogglePin(GPIOA,GPIO_PIN_1);
   HAL_Delay(500);
   HAL_GPIO_WritePin(LED_GPIO_Port, LED_Pin, GPIO_PIN_SET);
   HAL_GPIO_WritePin(led2_GPIO_Port, led2_Pin, GPIO_PIN_SET);
   //HAL_GPIO_TogglePin(GPIOA,GPIO_PIN_1);
      HAL_Delay(500);
  /* USER CODE BEGIN 1 */

  /* USER CODE END 1 */

  /* MCU Configuration----------------------------------------------------------*/

  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  HAL_Init();
bu da çalışmayan kod sorun nedir acaba

Jamesbond79

 :D :D :D :D :D :D sorunu çözdüm while(1) döngüsü varmış altta oraya komutları onun içine ekleyince çalıştı aslında kod çalışıyor fakat while(1) içi boş neyseki fark ettim biraz kalabalık yaptım kusura bakmayan herkese kolay gelsin

İsuluh

kolay gelsin, stm32f4 için döküman arıyorum  ,peripheral user manuel kitabını bulamadım yardımcı olabilcek olan varsa cok sevinirim