Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Keil RTL - CAN
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Andrew2000
Решил поковырять ради интереса - Keil
R T L - C A N D r i v e r
Rev.: V3.03a / 27-sep-2006
файл RTX_CAN.c (он один для все процесоров)

Не понял что они понаписали в ф-ях CAN_push и CAN_pull
Там везде написано:
*msg = *ptrmsg;
Это что, такая модная замена memcpy?
Или я перегрелся?
Alex03
Цитата(Andrew2000 @ Jan 17 2007, 07:49) *
Не понял что они понаписали в ф-ях CAN_push и CAN_pull
Там везде написано:
*msg = *ptrmsg;
Это что, такая модная замена memcpy?

А чем оно хуже то? Для маленьких и постоянных по размеру блоков данных вполне нормальный подход.
Там размер структуры наверняка слова так 4 (32-х разрядных).
Тем более для АРМа эта строчка может вылиться в 4 команды, в то время как на вызов memcpy надо не меньше, да потом memcpy начнёт анализировать, размер на кратность 4-ём и адреса на выравненность и т.д. а уж только потом копирование.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.