推 ksmrt0123:(1<<bitn)需要在run time才能算, 比較花時間 09/06 01:30
→ ksmrt0123:一般是用bit_mask的方法, #define bit0 0x01 09/06 01:32
→ ksmrt0123: #define bit01 0x02 09/06 01:33
→ ksmrt0123: #define bit2 0x04 (以下類推) 09/06 01:34
→ ksmrt0123:就不用再shift了. (bit01為bit1之誤) 09/06 01:35
→ ksmrt0123:要loop每個bit就 for(i=bit0; i; i<<=1) {...} 即可 09/06 01:36
推 qeagle:感恩...但若是換PORT的呢?比如原來PORTA 6腳換成PORB 3腳 09/06 21:07
→ ruemann:總是要舉一反三吧 方法很多的… 09/07 19:32
→ WolfLord:這種事用MARCO不就好了? 09/07 21:56
→ qeagle:用run time好像要shift才能算,用macro好像不行..?? 09/08 20:03
推 qeagle:我在想是否要用指標指到port位址,再用一個可變的mask非巨集 09/08 20:06