do {
original_list_pointers[idx] = start_point;
node* new_node = (node*)malloc(sizeof(node));
if (!new_list_head) new_list_head = new_node;
if (temp_p) temp_p->next = new_node;
new_node->value = start_point->value;
new_node->random_pointer = start_point->random_pointer;
new_node->next = 0;
temp_p = new_node;
start_point = start_point->next;
new_list_pointers[idx++] = new_node;
} while (start_point);
for(idx++;idx<10;idx++) {
original_list_pointers[idx] = 0;
new_list_pointers[idx] = 0;
}
start_point = original_list_pointers[0];
temp_p = new_list_pointers[0];
while (start_point) {
printf("handling item (original list) : 0x%x\tit's original random poitner: 0x%x, place in original list: %d\n" , start_point,start_point->random_pointer, idx_of_item_in_list(original_list_pointers,start_point->random_pointer)+1);
int i = idx_of_item_in_list(original_list_pointers,start_point->random_pointer);
temp_p->random_pointer = new_list_pointers[i];
printf("the cell in the new list : 0x%x\tNew random poitner: 0x%x, place in new list: %d\n" , temp_p,temp_p->random_pointer, idx_of_item_in_list(new_list_pointers,temp_p->random_pointer)+1);
start_point = start_point->next;
temp_p = temp_p->next;
}
}
הסבר את ההבדלים העיקריים בין מיקרו-בקר (Microcontroller) למעבד (Microprocessor). מתי תבחר להשתמש בכל אחד מהם?
תשובות
הוסף תשובה
|
לצפיה בתשובות
יולי 2024
**בחירה בין השניים**:
- **מיקרו-בקר**: נבחר כאשר נדרשת מערכת משובצת עצמאית המבצעת משימות ספציפיות עם דרישות עיבוד פשוטות, עלות נמוכה וצריכת חשמל נמוכה.
- **מעבד**: נבחר כאשר נדרשת מערכת עם יכולת עיבוד גבוהה, יכולת לתמוך בכמויות גדולות של זיכרון ופריפריות, וגמישות במערכת ההפעלה וביישומים.
הבחירה תלויה בצרכים הספציפיים של הפרויקט, משאבים זמינים ודרישות הביצועים.