Új hozzászólás Aktív témák
-
moseras
tag
-
moseras
tag
válasz
buherton
#4874
üzenetére
Üdv!
MinGW/msys/Windows alatt működik. Az nem volt benne a kérdésben, hogy milyen rendszer alatt akarja futtatni, lehet mikrokontroller, Windows, Linux, Mac, BSD, akármi más. Egyébként is csak a a kimenet demonstrálása miatt írtam le, hogy mit ír ki, nem a fordítás menetét akartam megmutatni. Szerintem Ő van annyira képben, hogy le tudja fordítani az adott rendszerére a programot. Ha nem, akkor majd szól.
Imi.
-
moseras
tag
Üdv!
uint8_t zreg[8] = {0,0,0,0,0,0,0,0};
#define C zreg[0]
#define B zreg[1]
#define E zreg[2]
#define D zreg[3]
#define BC (uint16_t*)&zreg[0]
#define DE (uint16_t*)&zreg[2]
int main(int argc, char**argv)
{
int i;
*BC += 852;
*DE += 4500;
printf("BC: %d, DE: %d\n", *BC, *DE);
printf("zreg: ");
for (i = 0; i < 8; ++i) {
printf("%d ", (int)zreg[i]);
}
printf("\n");return 0;
}Eredmény:
$ gcc -o 1.exe 1.c; 1.exe
BC: 852, DE: 4500
zreg: 84 3 148 17 0 0 0 0Imi.
-
moseras
tag
válasz
don_peter
#4863
üzenetére
Üdv!
Szerintem RS232 != SPI. Van olyan, hogy HW-es RS232, HW-es SPI, HW-es I2C, HW-es CAN, stb., de ezek egymástól függetlenek. Típustól függően vagy ez, vagy az, vagy akár mind a 4 is lehet egy kontrollerben. Sőt, akár több RS232 és/vagy SPI is lehet egy-egy kontrollerben (persze itt a nagyobbakra gondolok). Szóval szerintem az RS232 teljesen független az SPI-től. Pl. a te kontrolleredben nincs RS232, de van benne 1 SPI és 1 I2C. De pl. a PIC16F1704-ben már van 1 db RS232.
Lassan offtopic leszek...
Imi.
-
moseras
tag
válasz
don_peter
#4855
üzenetére
Üdv!
Ha
static const unsigned char ABC[40][7]
írsz, akkor (legalábbis régebben így volt) a FLASH-be, vagyis a program memóriába teszi a tömböt. Tehát fontos a const módosító. Mivel ezt te csak olvasod, ezért neked ez így megfelelő. Bár nem tudom, hogy milyen C fordítót használsz, de a Microchip PIC18-as fordítója régebben const módosító esetén a FLASH-be tette.
Imi.
-
moseras
tag
válasz
don_peter
#4852
üzenetére
Üdv!
Talán egyszerűbb:
void karakter(unsigned char karakter, unsigned char irany){
unsigned char i;
unsigned char normal = (irany == '0');
unsigned char mask_end = normal ? 0 : 0x20;
unsigned char mask;
for(i=0; i<7; i++){
mask = normal ? 0x10 : 0x01;
while (mask != mask_end) {
if (ABC[karakter][i] & mask){
printf("o");
}else{
printf(".");
}
if(normal) {
mask >>= 1;
} else {
mask <<= 1;
}
}
printf("\n");
}
}Imi.
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- GYÖNYÖRŰ iPhone 14 Pro 128GB Space Black -1 ÉV GARANCIA - Kártyafüggetlen
- Gyors és kedvező csomagküldés Magyarországon és külföldre!
- BESZÁMÍTÁS! ASRock B650M R7 7700 32GB DDR5 1TB SSD RX 7900 XTX 24GB Fractal Design Pop Air RGB 850W
- 197 - Lenovo Legion Pro 5 (16IAX10) - Intel Core U7 255HX, RTX 5070 (ELKELT)
- AKCIÓ! Dell XPS 13 9305 13 FHD üzleti notebook -i5 1135G7 8GB DDR4 512GB SSD Intel IRIS XE W11
Állásajánlatok
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs
Cég: Laptopműhely Bt.
Város: Budapest

