| Микроконтролери и електроника http://mcu-bg.com/mcu_site/ |
|
| От asm на С http://mcu-bg.com/mcu_site/viewtopic.php?f=7&t=3563 |
Страница 1 от 1 |
| Автор: | kirchi [ Нед Яну 14, 2007 5:50 pm ] |
| Заглавие: | От asm на С |
Това bsf STATUS,RP0 как ще стане на Сл Много благодаря за помоща. |
|
| Автор: | VSU [ Нед Яну 14, 2007 6:24 pm ] |
| Заглавие: | |
например на HI-TECH ще стане RP0 = 1; само че компилатора си се грижи сам да адресира банките с променливите така това не би трябвало да е твоя грижа |
|
| Автор: | kirchi [ Нед Яну 14, 2007 6:32 pm ] | |||||||||
| Заглавие: | ||||||||||
Мерси много. |
||||||||||
| Автор: | ToHu [ Нед Яну 14, 2007 8:19 pm ] |
| Заглавие: | |
Като цяло вярно, но по скоро трябва да знаеш как става по принцип. Преди да работиш би трябвло да деклрираш като битова променлива, например в Keil sbit RP0 = 0x03^5 или #define STATUS 0x03 #define RP0 5 sbit RP0 = STATUS^RP0 |
|
| Автор: | kirchi [ Нед Яну 14, 2007 10:39 pm ] | |||||||||
| Заглавие: | ||||||||||
Ааааааааааааааааа ясно, Аз се чудя що ми дава грешка. |
||||||||||
| Автор: | kirchi [ Нед Яну 14, 2007 10:46 pm ] |
| Заглавие: | |
А как да напиша RB0 да стане 1. |
|
| Автор: | ToHu [ Нед Яну 14, 2007 11:58 pm ] |
| Заглавие: | |
Значи това са неща зависимо от компилатора, както колегат по горе спомена RP0=0 в HiTech сигурно работи, защото в модела на процесора имам деклараия че той е бит 5 на статус регистъра. Тва трябва да напрвиш за всички битови променливи които искаш д ауправялваш по този начин. B.0 ти е бит 0 на порт 0х06, естетвено тук все говоря за 16-та серия. Т.е. sbit RB0=0x06^0 също така можеш директно да пишеш по порта с байтови команди, в твоиа случай трябва да направиш AND с 0xFE, това на асемблер се компилира като andlf, koeto което обаче е макрос и отнема повече време за изпълнение от bcf. едит. кой компилатор ползваш между другото? |
|
| Автор: | kirchi [ Пон Яну 15, 2007 12:26 am ] | |||||||||
| Заглавие: | ||||||||||
Това не го знаех. Компилатора е CCS_PCWH_v4.020. |
||||||||||
| Автор: | Predator_MF [ Пон Яну 15, 2007 2:54 am ] | |||||||||
| Заглавие: | ||||||||||
В CCS дефинираш бит или байт от портовете така
|
||||||||||
| Автор: | kirchi [ Пон Яну 15, 2007 6:25 pm ] | ||||||||||||||||||
| Заглавие: | |||||||||||||||||||
Дава ми грешки-A numeric expression must appear here |
|||||||||||||||||||
| Автор: | Predator_MF [ Пон Яну 15, 2007 7:19 pm ] | |||||||||
| Заглавие: | ||||||||||
И къде е точно това "here" ?? |
||||||||||
| Автор: | Predator_MF [ Пон Яну 15, 2007 8:55 pm ] |
| Заглавие: | |
Тая грешка ще ти я дава, защото дефинираш #byte/#bit в тялото на функция - постави ги в началото .c или .h файла |
|
| Автор: | kirchi [ Пон Яну 15, 2007 8:59 pm ] | |||||||||
| Заглавие: | ||||||||||
Аааааааа леееееее, много мерси |
||||||||||
| Страница 1 от 1 | Часовете са според зоната UTC + 2 часа [ DST ] |
| Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |
|