| Микроконтролери и електроника 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/ |
|