Hirdetés
- sh4d0w: Ez van, srácok...
- sziku69: Szólánc.
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- laskr99: DFI és DFI Lanparty gyűjteményem
- eBay-es kütyük kis pénzért
- Brogyi: CTEK akkumulátor töltő és másolatai
- Lalikiraly: Kinek milyen setupja van?
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- gban: Ingyen kellene, de tegnapra
Új hozzászólás Aktív témák
-
G.A.
aktív tag
Üdv!
Visual Studio 2015 Update 3-ban egy parancssoros programot irok C/C++ -ban.
Egy FTDI chip(FT2232H) (gyári DLL / header fileokat használok) és egy AVR(ATMega1284P) közötti SPI-n alapuló kommunikációt használok.
Ezzel nincs is igazából gond, a program ezen része azt teszi amit szeretnék. Szerintem.Röviden:
Valamitől módosul némely globális változom, anélkül, hogy használnám.A probléma:
Vannak globális változóim(részlet):uint8 AVR_Signature_Bytes[3] = { 0x00, 0x00, 0x00 };
uint8 AVR_Fuse_Bytes[3] = { 0x00, 0x00, 0x00 };
uint8 AVR_Lock_Byte, AVR_Calibration_Byte, AVR_Prog_Enable_Byte, AVR_Poll_Ready_Byte;
amiket egy funkcióval módosítok/változtatom meg:int32 AVR_WRD_Bytes(uint8* local_rx_buffer, uint8* local_tx_buffer, uint32 sizeToTransfer, ...)
{
int32 status = MPSSE_SPI_WRD(local_rx_buffer, local_tx_buffer, sizeToTransfer,...);
if (status == OK)
{
for(uint32 i = 0, txbptr = 3; i < sizeToTransfer; i++, txbptr += 4)
{
local_rx_buffer[i] = local_rx_buffer[txbptr];
}
}
return(status);
}
Az egyes változó módosításához definícióba raktam a funkciót: (elnézést ha ostobán fogalmaztam meg)#define AVR_Get_Fuse_Bytes() AVR_WRD_Bytes(AVR_Fuse_Bytes, Fuse_Bytes_RD, 12, )
#define AVR_Get_Signature_Bytes() AVR_WRD_Bytes(AVR_Signature_Bytes, Signature_Bytes_RD, 12)
#define AVR_Get_Lock_Byte() AVR_WRD_Bytes(&AVR_Lock_Byte, Read_Lock_Byte, 4)
#define AVR_Get_Calibration_Byte() AVR_WRD_Bytes(&AVR_Calibration_Byte, Read_Calibration_Byte, 4)
Ha lefuttatom a AVR_Get_Fuse_Bytes() funkciót és megjelenítettem (printf) a kapott eredményeket, akkor a várt eredmények jönnek. Mivel ezt ugye globális változóba mentettem, későbbi felhasználás céljából, gondoltam baj nem lehet.Viszont, ha a AVR_Get_Fuse_Bytes() után lefuttatom bármely másik funkciót pl. AVR_Get_Signature_Bytes()-ot és csak utána jeleníteném meg a AVR_Get_Fuse_Bytes() által kapott eredményeket, akkor azok már nem lesznek jók.
Milyen hibakeresési módszert javasoltok? Merre induljak?
(Lehet már nem látom a fától az erdőt... gyakori)GA
Új hozzászólás Aktív témák
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- One otthoni szolgáltatások (TV, internet, telefon)
- sh4d0w: Ez van, srácok...
- Huawei Watch D2 - nyomás utána!
- Lexus, Toyota topik
- Óvodások homokozója
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Macska topik
- iPhone topik
- Milyen billentyűzetet vegyek?
- Házimozi haladó szinten
- További aktív témák...
- !Akció! Klipsch R-120SW Sub / Mélynyomó
- BMW gyári alufelni, téli gumival
- iPad Air 5th gen (2022) 11" Blue M1 Cellular, ESR Rebound Hybrid Case 360 tok, 5in1 Type-C Hub
- AKCIÓ!!! Új SONOS ACE - Dolby Atmos vezetéknélküli fejhallgató, dupla BT, Sonos rendszer nélkül is m
- ÚJ iPhone 16 Pro Max 256GB Black Titanium (1 év Apple Care+)
- REFURBISHED - HP USB-C Universal Dock G1 (DisplayLink)
- ÁRGARANCIA!Épített KomPhone Ryzen 7 9700X 32/64GB RAM RX 7800 XT 16GB GAMER PC termékbeszámítással
- ÁRGARANCIA!Épített KomPhone Ryzen 7 9800X3D 32/64GB DDR5 RAM RTX 5070 12GB GAMER termékbeszámítással
- HIBÁTLAN iPhone 13 mini 128GB Starlight -1 ÉV GARANCIA -Kártyafüggetlen, MS3763
- HP 14 Elitebook 640 G9 FHD IPS i5-1235U 4.4Ghz 10mag 16GB 256GB Intel Iris XE Win11 Pro Garancia
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: Promenade Publishing House Kft.
Város: Budapest