Bence delayi state machine kullanarak burada etkisiz bırakabiliriz. Şimdilik şöyle bir kod salladım hata varsa düzeltebiliriz
int stataVariable = 0,stateFirstTime,stateSecondTime;
switch(stateVariable)
{
case 0: stateVariable = 1;
case 1:
{
stateFirstTime = millis()...
Saat 02.20 ve sonunda problemi çözmeyi başarabildim. Çok canımı sıktığı için bunu bir kenara atmıştım. :kotek1:
Problem şu sanırsam. Burada bir context switch var fakat onun handler'ının map edilmiş hali yok. Yani Nuvoton şunu bilmiyor.
/* Definitions that map the FreeRTOS port interrupt...
Malloc ve new gibi fonksiyonları yasakladıkları için dinamik hafıza ayırmayı muhtemelen istemediler diye düşündüm. Statik olarak da aklıma sadece array geldi. memory isimli bir static array oluşturup arrayin base adresini döndürmek yanlış bir cevap mı olur ?
Yok bu şuan süzgeç gibi bir şey. 5 adımlı bir işe alma idi zaten. Ben ilk adımı görüşme ile yaptım. Bu 2. adım olan temel C/C++ bilgisini sınıyordu. Muhtemelen 3. ya da 4. adımda critical tarafı sorgularlardı.
int* foo()
{
int k = 3;
k++;
return &k;
}
int main()
{
int* a = foo();
printf("%d",*a);
}
Şimdi aklıma başka bir soru daha geldi. Ben 4 dedim halbuki adresi döndürülen k'nın local bir değer olduğunu farketmedim. Static olsaydı doğru olacaktı :(. Burada peki compiler error...
Küçük bir güncelleme geçeyim istedim. Görüşmeyi geçen salı günü yaptım ve bugün bana teknik test attılar. Test 11 sorudan oluşuyordu ve genelde C/C++ bilgisi barındırıyordu. Şöyle bir kaç soruyu fikir versin diye paylaşayım istedim.
Statik değişkenler header dosyalarında tanımlanabilir mi...
Herkese görüşleri için teşekkürler. Sanırım en mantıklı olan yaptığım işleri, tecrübemi vs. en açık şekilde anlatıp bu konuyu da hızlı bir şekilde öğrenmeye istekliyim gibi bir yol izlemek. Umarım başarılı olur :)
Daha önce bu tarz bir çalışma yapmadım. Kodun belli aşamalarının belli zamanlarda kesin gerçekleşmesi gibi şeyler yapmadım. İş görüşmesinde bununla ilgili bir soru gelirse ne tarz bir cevap vermeliyim sizce?
Bir iş ilanına başvurmuştum ve geri dönüş yaptılar görüşmek istiyorlar. İş ilanında şöyle bir madde var
Experience in developing optimized and time critical code in C/C+
Time critical coding burada tam olarak ne anlama geliyor? ChatGPT ve Bard gibi AI botlara sordum ama tam tatmin edecek...
Tanıdık vs tabi ki önemli ama ilk olarak yapılması gereken şey iğneyi önce kendimize batırmak bence. Ben de ilk zamanlarda geri dönüş alamadım. Sonra sektörde çalışan bir arkadaşımla beraber CV hazırladım ve tamamen benim CV'nin berbatlığından kaynaklandığını anladım. Ben sıradan bir...
Bu zamana kadar hep bare metal çalıştım. RTOS konseptlerini öğrenmek için de yeni yeni uygulama yapmaya başlamak istiyorum. Elimde Nuvoton'un bir developer kiti var. M032SG8AE mikroişlemci var üzerinde. FreeRTOS'un source kodlarını indirdim ve projeme import ettim. LED_Task diye bir task...
Ben protokolü yazılıma nasıl dökerim kısmında takıldım. İnternette de arıyorum fakat çok yararlı bir kaynak bulamadım. Bildiğiniz güzel bir kaynak varsa çok sevinirim.
Ben şöyle düşündüm.
typedef struct{
char* header;
uint8_t data_length;
uint8_t command_type;
uint8_t...
Atıyorum elimde iki tane mikroişlemci olsun. Bir tanesi master olan, slave olarak davranacak mikroişlemciye UART-RS232 üzerinden 100 mili saniyede bir veri atsın. Veri formatı da sallıyorum 20 byte olsun. Bunun içinde spesific header, data length, command type gibi bilgiler de bulunsun. Aynı...
Ben de bir RTC entegresi kullandığımda işlemcinin üreticisinin I2C için sağladığı I2C_Write() ve I2C_Read() gibi hazır fonksiyonlar kullandım. Bizim bu diyagramı dikkate alarak koda dökmemize gerek var mı ? Yani atıyorum haberleşmeyi başlatmak için SCL hattını lowa çekmek gibi vs.
Biraz ara vermem gerekti ama problemi çözmeye kaldığım yerden devam ediyorum :)
Dediğiniz gibi 3 farklı fonksiyon yazarak çözüme ulaşmaya çalıştım. Kodumun son hali şu şekilde.
/**
* Note: The returned array must be malloced, assume caller calls free().
*/
int convert_arr_to_int(int...
Leetcode problemi çözmeye çalışıyorum. Soru benden şunu yapmamı istiyor. Öncelikle bir integer arrayi ve bir integer değer veriyor. Sonrasında arrayi integer formuna dönüştürüp diğer integer değerle toplamalıyım. En sonda çıkan değeri ise tekrar integer array formuna çevirmeliyim.
Şu şekilde...