ARMÔÚÓ²¼þÉϲ»Ö§³Ö³ý·¨Ö¸Á±àÒëÆ÷ÊÇͨ¹ýµ÷ÓÃC¿âº¯ÊýÀ´ÊµÏÖ³ý·¨ÔËËãµÄ£¬ÓÐÐí¶à²»Í¬ÀàÐ͵ijý·¨³ÌÐòÀ´ÊÊÓ¦²»Í¬µÄ³ýÊýºÍ±»³ýÊý¡£µ«Ö±½ÓÀûÓÃC¿âº¯ÊýÖеıê×¼ÕûÊý³ý·¨³ÌÐò£¬¸ù¾ÝÖ´ÐÐÇé¿öºÍÊäÈë²Ù×÷ÊýµÄ·¶Î§£¬Òª»¨·Ñ20¡«100¸öÖÜÆÚ£¬ÏûºÄ½Ï¶àµÄÈí¼þÔËÐÐʱ¼ä¡£ÔÚʵʱǶÈëʽӦÓÃÖУ¬¶Ôʱ¼ä²ÎÊý½ÏΪÃô¸Ð£¬¹Ê¿ÉÒÔ¿¼ÂÇÈçºÎÓÅ»¯±ÜÃâ³ý·¨ÏûºÄ¹ý¶àµÄCPUÔËÐÐʱ¼ä¡£
³ý·¨ºÍÄ£ÔËËã(£¯ºÍ£¥)Ö´ÐÐÆðÀ´±È½ÏÂý£¬ËùÒÔÓ¦¾¡Á¿±ÜÃâʹÓᣵ«ÊÇ£¬³ýÊýÊdz£ÊýµÄ³ý·¨ÔËËãºÍÓÃͬһ¸ö³ýÊýµÄÖØ¸´³ý·¨£¬Ö´ÐÐЧÂÊ»á±È½Ï¸ß¡£ÔÚARMÖУ¬¿ÉÒÔÀûÓõ¥ÌõMULÖ¸ÁîʵÏֳ˷¨²Ù×÷¡£±¾ÎĽ«²ûÊöÈçºÎÓó˷¨ÔËËã´úÌæ³ý·¨ÔËË㣬ÒÔ¼°ÈçºÎʹ³ý·¨µÄ´ÎÊý×îÉÙ»¯¡£
¡¡
1
ÔÚ·ÇǶÈëʽÁìÓò£¬ÒòΪCPUÔËËãËٶȿ졢´æ´¢Æ÷ÈÝÁ¿´ó£¬³ý·¨²Ù×÷ͨ³£¶¼ÊDz»¼Ó¿¼ÂÇÖ±½ÓʹÓõġ£µ«ÔÚǶÈëʽÁìÓò£¬Ê×ÏÈÐèÒª¿¼ÂǵÄÊÇÕâЩ³ý·¨²Ù×÷ÊÇ·ñÊDZØÐëµÄ¡£ÒÔ¶Ô»·Ðλº³åÇø²Ù×÷ΪÀý£¬¾³£ÒªÓõ½³ý·¨£¬ÆäʵÍêÈ«¿ÉÒÔ±ÜÃâÕâЩ³ý·¨ÔËËã¡£
¼Ù¶¨ÓÐÒ»¸öbuffer_size´óСµÄ»·Ðλº³åÇø£¬Èçͼ1Ëùʾ£¬0ffsetÖ¸¶¨Ä¿Ç°ËùÔÚµÄλÖá£Í¨¹ýincrement×Ö½ÚÀ´Ôö¼ÓoffsetµÄÖµ£¬Ò»°ãÊÇÕâÑùдµÄ£º
0ffset=(Offset+increment)£¥buffer_size£»
ЧÂʸü¸ßµÄд·¨ÊÇ£º
offset+=increment£»
if(offset>=buffer_size){
offsetÒ»=buffer_size£»
}
µÚÒ»ÖÖд·¨Òª»¨·Ñ50¸öÖÜÆÚ£¬¶øµÚ¶þÖÖÒòΪûÓгý·¨ÔËË㣬ֻÐ뻨·Ñ3¸öÖÜÆÚ¡£ÕâÀï¼Ù¶¨increment<buff_er_size£¬ÔÚʵ¼ÊÓ¦ÓÃÖÐÕâµãÓ¦¸ÃÊDZ£Ö¤µÄ¡£
Èç¹û²»ÄܱÜÃâ³ý·¨ÔËË㣬ÄÇô¾ÍÓ¦¾¡Á¿Ê¹³ýÊýºÍ±»³ýÊýÊÇÎÞ·ûºÅµÄÕûÊý¡£ÓзûºÅµÄ³ý·¨³ÌÐòÖ´ÐÐÆðÀ´¸ü¼ÓÂý£¬ÒòΪËüÃÇÏÈҪȡµÃ³ýÊýºÍ±»³ýÊýµÄ¾ø¶ÔÖµ£¬ÔÙµ÷ÓÃÎÞ·ûºÅ³ý·¨ÔËË㣬×îºóÔÙÈ·¶¨½á¹ûµÄ·ûºÅ¡£
¡¡
2
Ðí¶àCÓïÑÔ¿âÖеijý·¨º¯Êý·µ»ØÉ̺ÍÓàÊý¡£»»¾ä»°Ëµ£¬Ã¿Ò»¸ö³ý·¨ÔËË㣬ÓàÊýÊÇ¿ÉÒÔÎÞ³¥µÃµ½µÄ£¬·´Ö®ÒàÈ»¡£ÀýÈ磬ҪÔÚÆÁÄ»»º³åÇøÕÒµ½Æ«ÒÆÁ¿ÎªoffsetµÄÆÁĻλÖÃ(x£¬y)£¬¿ÉÒÔÕâÑùд£º
typeclef struct{
int x£»
int y£

¡¾