Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

Шъфтване със стандартна функция на CCS
http://mcu-bg.com/mcu_site/viewtopic.php?f=7&t=6945
Страница 1 от 1

Автор:  RM [ Вто Юни 30, 2009 6:31 pm ]
Заглавие:  Шъфтване със стандартна функция на CCS

Зареждам един PLL синтезатор с 22бита със 22 клока.
Използвам вградените функций на CCS- output_bit(PIN_A5, shift_left(data,3,0)) .
Извиквам я 22 пъти, но за 3-те байта остават още 2 пъти (24-22). Интересува ме , когато повторно извикам функцията искам да очаквам завъртане на битовете отново от 1 до 22, но двете врътки от предходното завъртане как да ги нулирам. Или завъртам 22 полезни шъфта и ми остават още 2, и предполагам че когато започна пак да използвам 2-ри път функцията, ще започне да пуска последните 2 бита от 3-тия байт ???? Не мога да намеря подробно функцията, предполагам че за тия 3 байта има брояч от 0 до 23 и да го нулирам при 21-път на завъртане на 3-те байта.

-----------------------------------------------------------

Видях листинга на асемблера- всеки път ще зареждам нанова 3-те байта data[3].

Автор:  rumen65 [ Сря Юли 01, 2009 10:55 am ]
Заглавие: 

Syntax:
shift_left (address, bytes, value)
Parameters:
address is a pointer to memory, bytes is a count of the number of bytes to work with, value is a 0 to 1 to be shifted in.
Returns:
0 or 1 for the bit shifted out

Нямаш друг ибор в твоя случай след шифтването се пълни с нули. Ако местиш 24 пъти накрая всичко ще е нула.

Страница 1 от 1 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/