Picproje Elektronik Sitesi

DERLEYİCİLER => Diğer Derleyiciler => Konuyu başlatan: zamzam23 - 18 Eylül 2021, 23:47:31

Başlık: Stm32 cubeide kod blok satırları
Gönderen: zamzam23 - 18 Eylül 2021, 23:47:31
Selamlar,
Cubeide'de başlangıç ayarlarını yaptıktan sonra otomatik oluşturulan kodda, aşağıdaki gibi kendi kodlarımızı yazmamız gereken kod blokları için yorum satırları var. Bu satırlardan kurtulmanın bir yöntemi var mı?

Bu satırlar aşırı kalabalık ediyor, program yazmamı ve okumamı zorlaştırıyor..

Syg.


/* USER CODE BEGIN 8 */
/* USER CODE END 8 */
Başlık: Ynt: Stm32 cubeide kod blok satırları
Gönderen: eeburakdemir - 18 Eylül 2021, 23:56:35
Merhaba,
Aslında kalabalık etmiyor. Sebebi ise, siz herhangi bir update yaptığınızda bu blokların arasında kalan işlemlere değiştirilmiyor. Eğer kaldırırsanız ve update yaparsanız bu blok dışındakiler de gidiyor.
Başlık: Ynt: Stm32 cubeide kod blok satırları
Gönderen: RaMu - 19 Eylül 2021, 01:29:52
Kodu neredeyse hiç main dosyasına yazmayıp kurtulabilinir.
Başlık: Ynt: Stm32 cubeide kod blok satırları
Gönderen: zamzam23 - 19 Eylül 2021, 10:02:58
Alıntı yapılan: RaMu - 19 Eylül 2021, 01:29:52Kodu neredeyse hiç main dosyasına yazmayıp kurtulabilinir.

Main fonksiyonunda, başka bir dosyadan  fonksiyon çağırmaktan bahsediyorsun sanırım. Bilemiyorum yine de tamamen kaldırılabilse harika olur. Ben alışamadım.
Başlık: Ynt: Stm32 cubeide kod blok satırları
Gönderen: eeburakdemir - 19 Eylül 2021, 11:34:01
Alıntı yapılan: zamzam23 - 19 Eylül 2021, 10:02:58Main fonksiyonunda, başka bir dosyadan  fonksiyon çağırmaktan bahsediyorsun sanırım. Bilemiyorum yine de tamamen kaldırılabilse harika olur. Ben alışamadım.
Alıntı yapılan: RaMu - 19 Eylül 2021, 01:29:52Kodu neredeyse hiç main dosyasına yazmayıp kurtulabilinir.

Merhaba,
Bahsi geçen konu sadece main.c yada main.h olan bir durum değil. Bütün kaynak ve header dosyalarında mevcut. Bu yüzden söylediğiniz durum da işe yaramayacaktır.
Başlık: Ynt: Stm32 cubeide kod blok satırları
Gönderen: mr.engineer - 19 Eylül 2021, 17:36:18
Git vb. bir şey kullanmak mantıklı olabilir. Kodu bir kez generate ettikten sonra bu versiyonu commit edip ya da ayrı bir branch açıp yeni versiyonda bu yorumları silersiniz, eğer tekrar kodu CubeMx den update etmeniz gerekirse ilk versiyona dönüp onu update edersiniz. En sonunda da ilk versiyonun güncellenen haliyle, projenin üstüne yazdığınız kodları birleştirirsiniz.

Daha önce yapmadım böyle bir şey ama olur gibi geldi:)
Başlık: Ynt: Stm32 cubeide kod blok satırları
Gönderen: Murat Mert - 19 Eylül 2021, 22:01:50
programlarımda main bloğum hep böyle yada buna benzer. Ana programa başka bir sayfada yazıyorum.
int main(void)
{
  /* USER CODE BEGIN 1 */
//char yaz[]="seri port deneme \r\n";
  /* USER CODE END 1 */

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

  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  HAL_Init();

  /* USER CODE BEGIN Init */

  /* USER CODE END Init */

  /* Configure the system clock */
  SystemClock_Config();

  /* USER CODE BEGIN SysInit */

  /* USER CODE END SysInit */

  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  MX_DMA_Init();
  MX_ADC1_Init();
  MX_I2C1_Init();
  MX_USB_DEVICE_Init();
  MX_TIM3_Init();
  MX_TIM2_Init();
  MX_TIM1_Init();
  /* USER CODE BEGIN 2 */

  main_start();  // program başlangıc ayarları
 
  /* USER CODE END 2 */

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
  prog_main();

    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
  }
  /* USER CODE END 3 */
}



Başlık: Ynt: Stm32 cubeide kod blok satırları
Gönderen: zamzam23 - 20 Eylül 2021, 06:39:02
Alıntı yapılan: Murat Mert - 19 Eylül 2021, 22:01:50programlarımda main bloğum hep böyle yada buna benzer. Ana programa başka bir sayfada yazıyorum.
int main(void)
{
  /* USER CODE BEGIN 1 */
//char yaz[]="seri port deneme \r\n";
  /* USER CODE END 1 */

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

  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  HAL_Init();

  /* USER CODE BEGIN Init */

  /* USER CODE END Init */

  /* Configure the system clock */
  SystemClock_Config();

  /* USER CODE BEGIN SysInit */

  /* USER CODE END SysInit */

  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  MX_DMA_Init();
  MX_ADC1_Init();
  MX_I2C1_Init();
  MX_USB_DEVICE_Init();
  MX_TIM3_Init();
  MX_TIM2_Init();
  MX_TIM1_Init();
  /* USER CODE BEGIN 2 */

  main_start();  // program başlangıc ayarları
 
  /* USER CODE END 2 */

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
  prog_main();

    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
  }
  /* USER CODE END 3 */
}




Prog_main() fonksiyonunu içeren dosyayı nasıl dahil ediyoruz projeye? Ben .c olarak edeyim dedim kütüphane olarak görüyor ve "HAL kütüphane tanımsız" hatası veriyor.

Başlık: Ynt: Stm32 cubeide kod blok satırları
Gönderen: eeburakdemir - 21 Eylül 2021, 00:02:33
Merhaba,
Projelerinizi .c ve .h gibi dosyalara bölerek yaparsanız linkeriniz daha rahat çalışır ve bu durumda program hafızanızdan daha az yer kaplanmasını sağlar. Ayrıca ana programda ise mümkün oldukça az kod yapısı ve güzel bir düzen içerisinde programlamlarınızı geliştirebilirsiniz. Diğer fonksiyonlarınız, yapılarınız, kesmeleriniz gibi işlevlerde kendi dosyaları içerisinde çalışıtığından dolayı, uygulamalarınıza müdahale etmek rahat olur.
Başlık: Ynt: Stm32 cubeide kod blok satırları
Gönderen: zamzam23 - 21 Eylül 2021, 06:17:30
Alıntı yapılan: eeburakdemir - 21 Eylül 2021, 00:02:33Merhaba,
Projelerinizi .c ve .h gibi dosyalara bölerek yaparsanız linkeriniz daha rahat çalışır ve bu durumda program hafızanızdan daha az yer kaplanmasını sağlar. Ayrıca ana programda ise mümkün oldukça az kod yapısı ve güzel bir düzen içerisinde programlamlarınızı geliştirebilirsiniz. Diğer fonksiyonlarınız, yapılarınız, kesmeleriniz gibi işlevlerde kendi dosyaları içerisinde çalışıtığından dolayı, uygulamalarınıza müdahale etmek rahat olur.


Teşekkürler.

.h olarak include edince sorun çıkarmadı.
Kesmeler, değişkenler, fonksiyonlar vs. ayrı dosyalarda yazıcam dediğiniz gibi derli toplu olur bakalım.
Başlık: Ynt: Stm32 cubeide kod blok satırları
Gönderen: eeburakdemir - 21 Eylül 2021, 19:45:07
Rica ederim. İyi çalışmalar dilerim.
Başlık: Ynt: Stm32 cubeide kod blok satırları
Gönderen: Murat Mert - 22 Eylül 2021, 09:03:00
Alıntı yapılan: zamzam23 - 20 Eylül 2021, 06:39:02Prog_main() fonksiyonunu içeren dosyayı nasıl dahil ediyoruz projeye? Ben .c olarak edeyim dedim kütüphane olarak görüyor ve "HAL kütüphane tanımsız" hatası veriyor.



Geç cevap oldu ama.....
C ve H dosyası olarak ekliyorum. MAin.h dosyası içine include edip kullanıyorum.