�gӭ���R�ЈD�W(w��ng) Ո(q��ng) | ע��(c��)

���] Ƕ��ʽϵ�y(t��ng)���䌍(sh��)�`�̳�

�����磺������ӿƼ���W(xu��)����������r(sh��)�g��2021-03-01
�_(k��i)���� 26cm �(y��)��(sh��)�� 320�(y��)
�� �D �r(ji��):¥38.0(7.9��) ���r(ji��)  ¥48.0 ��䛺�ɿ�����(hu��)�T�r(ji��)
����ُ(g��u)��܇ �ղ�
�_(k��i)���٣� ȫ��(ch��ng)���]
?�½������س���
������Ǖ�(sh��)����>

Ƕ��ʽϵ�y(t��ng)���䌍(sh��)�`�̳� ���(qu��n)��Ϣ

Ƕ��ʽϵ�y(t��ng)���䌍(sh��)�`�̳� ����(sh��)��ɫ

���̲ĵ�*�����c(di��n)�ǃ�(n��i)��ȫ�桢�·f���Y(ji��)��*�µ�Ƕ��ʽ���̌�(sh��)�`��ϵ�y(t��ng)���U��Ƕ��ʽϵ�y(t��ng)�Ļ���֪�R(sh��)�����A(ch��)�cԭ����ͻ�����g����ԭ��������Ƕ��ʽϵ�y(t��ng)�е�������ͻ��ܛ���������������c�������|(zh��)���B(y��ng)������ʾ����С�Nʿ�ķ�ʽ���c�r(sh��)���M(j��n)�v�����P(gu��n)֪�R(sh��)�c(di��n)���������x�߱M��������Փ�c��(sh��)�`���A(ch��)�c������

Ƕ��ʽϵ�y(t��ng)���䌍(sh��)�`�̳� ��(n��i)�ݺ�(ji��n)��

����(sh��)Ԕ��(x��)��B��Ƕ��ʽϵ�y(t��ng)����������ԭ�����乤�̑�(y��ng)�Ì�(sh��)�`��ȫ��(sh��)����12��, ��Ҫ��(n��i)�ݰ���Ƕ��ʽϵ�y(t��ng)���A(ch��), Ƕ��ʽϵ�y(t��ng)ܛ���_(k��i)�l(f��)�h(hu��n)��, Ƕ��ʽϵ�y(t��ng)Ӳ����Ƕ��ʽϵ�y(t��ng)ܛ���ľ���(xi��), Ƕ��ʽ̎����, Ƕ��ʽϵ�y(t��ng)�惦(ch��)��, IO�O(sh��)���cͨ�Žӿ�, Ƕ��ʽϵ�y(t��ng)ܛ���c����ϵ�y(t��ng), �M(j��n)���c���̼���ͨ��, Ƕ��ʽ�W(w��ng)�j(lu��)�c�f(xi��)�h��, Ƕ��ʽϵ�y(t��ng)�Ĝy(c��)ԇ��ģ�M�c�{(di��o)ԇ���g(sh��)�Լ�Ƕ��ʽϵ�y(t��ng)�����c�����ȃ�(n��i)����

Ƕ��ʽϵ�y(t��ng)���䌍(sh��)�`�̳� Ŀ�

**�� �wՓ 1 1.1 Ƕ��ʽϵ�y(t��ng)�ĸ��� 1 1.1.1 Ƕ��ʽϵ�y(t��ng)�Ķ��x 1 1.1.2 ͨ��Ӌ(j��)��C(j��)ϵ�y(t��ng)�cǶ��ʽϵ�y(t��ng) 2 1.2 Ƕ��ʽϵ�y(t��ng)�����c(di��n) 4 1.3 Ƕ��ʽϵ�y(t��ng)��Ӳ�� 5 1.3.1 Ƕ��ʽ̎���� 5 1.3.2 Ƕ��ʽ�惦(ch��)���c���O(sh��) 6 1.4 Ƕ��ʽϵ�y(t��ng)��ܛ�� 7 1.4.1 Ƕ��ʽϵ�y(t��ng)ܛ���ľ���(xi��) 8 1.4.2 Ƕ��ʽϵ�y(t��ng)�O(sh��)���ܛ�� 10 1.5 Ƕ��ʽϵ�y(t��ng)���_(k��i)�l(f��)������ 13 1.5.1 Ƕ��ʽϵ�y(t��ng)�ľ��g�� 13 1.5.2 ���澎�g�c�ض����g�� 14 1.5.3 Ƕ��ʽϵ�y(t��ng)��ܛ������ 15 1.6 Ƕ��ʽϵ�y(t��ng)�İl(f��)չ�c��� 16 1.6.1 Ƕ��ʽ̎�����İl(f��)չ 16 1.6.2 Ƕ��ʽܛ���İl(f��)չ 18 1.6.3 Ƕ��ʽϵ�y(t��ng)�ķ�� 21 1.7 Ƕ��ʽϵ�y(t��ng)�đ�(y��ng)�� 22 ��(x��)�} 23 �ڶ��� Ƕ��ʽϵ�y(t��ng)ܛ���_(k��i)�l(f��)�h(hu��n)�� 24 2.1 ���g���c�_(k��i)�l(f��)�h(hu��n)�� 24 2.1.1 �����g�^(gu��)�� 24 2.1.2 ���g���cǶ��ʽ���g�� 25 2.1.3 �����_(k��i)�l(f��)�h(hu��n)�� 27 2.2 STM32��MDK�_(k��i)�l(f��)�h(hu��n)�� 28 2.2.1 Keil ��Vision5��B 28 2.2.2 Keil ��Vision5���b 29 2.2.3 ʹ�ù��̌�(sh��)���(y��n)�C���b 31 2.3 Linux���澎�g�h(hu��n)�� 34 2.3.1 Ubuntuϵ�y(t��ng)��B 34 2.3.2 ���d�Ͱ��bVirtualBox 35 2.3.3 ��(chu��ng)��̓�M�C(j��) 36 2.3.4 ���d���bUbuntuϵ�y(t��ng) 38 2.3.5 ���澎�g���߰��b�(y��n)�C 41 2.3.6 ��Windows���\(y��n)��Linuxϵ�y(t��ng) 42 2.4 GCC�����g�^(gu��)�� 46 ��(x��)�} 51 ������ Ƕ��ʽϵ�y(t��ng)Ӳ�� 52 3.1 Ƕ��ʽϵ�y(t��ng)Ӳ���_(k��i)�l(f��)���乤�� 52 3.1.1 Ƕ��ʽϵ�y(t��ng)Ӳ����4��(g��)�Ӵ� 52 3.1.2 Ƕ��ʽϵ�y(t��ng)Ӳ���_(k��i)�l(f��)���� 53 3.1.3 Ƕ��ʽ�·��M�� 56 3.1.4 Ƕ��ʽ�·���O(sh��)Ӌ(j��) 57 3.2 Ƕ��ʽϵ�y(t��ng)Ӳ���O(sh��)Ӌ(j��) 58 3.2.1 ������� 58 3.2.2 ԭ��D�O(sh��)Ӌ(j��) 59 3.2.3 PCB�O(sh��)Ӌ(j��) 61 3.3 �O(sh��)Ӌ(j��)һ��(g��)51��Ƭ�C(j��)ϵ�y(t��ng) 62 3.3.1 Ԫ������(k��)�Ľ��� 64 3.3.2 Ҏ(gu��)�t�O(sh��)�� 66 3.3.3 ���ֺͲ������� 67 ��(x��)�} 69 ������ Ƕ��ʽϵ�y(t��ng)ܛ�� 70 4.1 ܛ���|(zh��)�� 70 4.1.1 ܛ���|(zh��)���Ļ������� 70 4.1.2 ܛ���|(zh��)���Ļ������� 71 4.1.3 ���|(zh��)��ܛ���_(k��i)�l(f��)���� 74 4.2 Ƕ��ʽC�Z(y��)�Ծ��� 77 4.2.1 C�Z(y��)�Եİl(f��)չ�c��(bi��o)��(zh��n) 77 4.2.2 Ƕ��ʽC�Z(y��)�Ծ��� 77 4.3 Ҏ(gu��)�������� 88 4.3.1 �����Ű� 88 4.3.2 ���aע� 92 4.3.3 ��(bi��o)�R(sh��)�����Q 97 ��(x��)�} 99 ������ Ƕ��ʽ̎���� 100 5.1 ���� 100 5.1.1 Ƕ��ʽ̎�����������Y(ji��)��(g��u) 100 5.1.2 Ƕ��ʽ̎���������c(di��n) 102 5.1.3 ��Ҋ(ji��n)��Ƕ��ʽ̎���� 102 5.1.4 Ƕ��ʽ̎�����İl(f��)չ 104 5.1.5 Ƕ��ʽ̎������ͨ��CPU�� �������^ 104 5.2 ARMǶ��ʽ̎����ָ� 106 5.2.1 ָ� 106 5.2.2 ARMָ� 108 5.2.3 Thumbָ� 110 5.2.4 Jazelleָ� 110 5.3 Ƕ��ʽ̎�����ļܘ�(g��u) 111 5.3.1 ARM̎���� 111 5.3.2 MIPS̎���� 116 5.3.3 PowerPC̎���� 118 5.3.4 ARC̎���� 119 5.3.5 Xtensa̎���� 121 5.3.6 x86ϵ��̎���� 122 ��(x��)�} 124 ������ Ƕ��ʽϵ�y(t��ng)�惦(ch��)�� 125 6.1 ���� 125 6.1.1 �惦(ch��)��ϵ�y(t��ng)�ČӴνY(ji��)��(g��u) 125 6.1.2 �惦(ch��)������Ҫ����ָ��(bi��o) 127 6.1.3 �惦(ch��)�O(sh��)���� 128 6.1.4 Ƕ��ʽϵ�y(t��ng)�Ĵ惦(ch��)��ϵ�y(t��ng) 129 6.2 Ƕ��ʽϵ�y(t��ng)�Ĵ惦(ch��)�O(sh��)�� 130 6.2.1 ����Ļ����Y(ji��)��(g��u) 130 6.2.2 �S�C(j��)��ȡ�惦(ch��)�� 131 6.2.3 ֻ�x�惦(ch��)�� 134 6.2.4 �W���ʹ惦(ch��)�� 136 6.2.5 �ű���惦(ch��)�� 137 6.3 Ƕ��ʽϵ�y(t��ng)��Cache 138 6.3.1 Cache�Ļ����Y(ji��)��(g��u)��ԭ�� 138 6.3.2 Cache ���ܺ� 139 6.4 ���ʹ惦(ch��)�� 140 6.4.1 �惦(ch��)���·��������늺ɵ� ���y(t��ng)�惦(ch��)���ͻ������� ���ʹ惦(ch��)�� 140 6.4.2 �F늴惦(ch��)�� 140 6.4.3 ����惦(ch��)�� 141 6.4.4 ��׃�惦(ch��)�� 142 6.4.5 ��׃�惦(ch��)�� 143 6.4.6 ���惦(ch��)���������^ 144 ��(x��)�} 145 ������ I/O�O(sh��)���cͨ�Žӿ� 146 7.1 ���� 146 7.1.1 I/O�ӿڼĴ�����ӳ�䷽ʽ 146 7.1.2 I/O�O(sh��)���� 148 7.1.3 ����ͨ���c����ͨ�� 148 7.1.4 ͬ��ͨ���c����ͨ�� 149 7.2 ����ͨ�Ż��A(ch��) 150 7.2.1 ����ͨ�ŵĂ�ݔ���� 150 7.2.2 ��ݔ���� 151 7.2.3 ����ͨ�ŵ��e(cu��)�`У�(y��n) 151 7.2.4 ��Ҋ(ji��n)����ͨ�Ņf(xi��)�h 152 7.3 ���Ю���ͨ�� 152 7.4 I2C���� 154 7.4.1 I2C�����Ěvʷ�śr 154 7.4.2 I2C�����ĵ����· 155 7.4.3 I2C������(sh��)��(j��)ͨ�Ņf(xi��)�h 156 7.4.4 I2C���̻������� 159 7.5 SPI���� 160 7.5.1 SPIͨ�ŕr(sh��)�� 160 7.5.2 ģ�MSPI 161 7.5.3 SPI���̻������� 162 7.6 USB���� 162 7.6.1 USB��(ji��n)�� 163 7.6.2 USBӲ���ӿ� 163 7.6.3 USB�ĵ����B�� 164 7.6.4 USBͨ�Ņf(xi��)�h 165 7.6.5 USBͨ���е��„�(w��)̎�� 166 7.6.6 USB�Ă�ݔģʽ 167 ��(x��)�} 169 �ڰ��� Ƕ��ʽϵ�y(t��ng)ܛ���c����ϵ�y(t��ng) 170 8.1 Ƕ��ʽϵ�y(t��ng)ܛ�� 170 8.1.1 Ƕ��ʽܛ�������c(di��n) 170 8.1.2 Ƕ��ʽܛ�����O(sh��)Ӌ(j��)���� 170 8.1.3 Ƕ��ʽܛ���ČӴ��c���� 177 8.2 Ƕ��ʽ����ϵ�y(t��ng) 178 8.2.1 Ƕ��ʽ����ϵ�y(t��ng)�ĸ��� 179 8.2.2 Ƕ��ʽ��(sh��)�r(sh��)����ϵ�y(t��ng)�� ���c(di��n)�c���� 181 8.2.3 Ƕ��ʽ����ϵ�y(t��ng)���wϵ�Y(ji��)��(g��u) 186 8.3 ���õ�Ƕ��ʽ����ϵ�y(t��ng) 189 8.3.1 ���õ�Ƕ��ʽ����ϵ�y(t��ng) 189 8.3.2 Ƕ��ʽLinuxϵ�y(t��ng)��ܛ�� 193 8.4 ��C/OS-II����ϵ�y(t��ng)��B 197 8.4.1 ��C/OS-��M���Y(ji��)��(g��u) 198 8.4.2 ��C/OS-II��(n��i)�� 200 8.4.3 ��C/OS-II�΄�(w��)���� 201 8.4.4 ��C/OS-II�r(sh��)�g���� 205 8.4.5 ��C/OS-II��(n��i)����� 207 8.4.6 ��C/OS-II�΄�(w��)֮�g��ͨ���c ͬ�� 209 ��(x��)�} 215 �ھ��� �M(j��n)���c���̼���ͨ�� 216 9.1 �M(j��n)�� 216 9.1.1 ʲô���M(j��n)�� 216 9.1.2 �M(j��n)�̵Ą�(chu��ng)�� 217 9.1.3 �M(j��n)�̵ĽKֹ 218 9.1.4 exec�庯��(sh��) 221 9.1.5 ���o(h��)�M(j��n)�� 222 9.1.6 �M(j��n)���gͨ�� 224 9.2 ���� 233 9.2.1 ʲô�Ǿ��� 233 9.2.2 �M(j��n)���c���̌�(du��)�� 234 9.2.3 ���̵Ļ�����������(sh��) 234 9.2.4 �þ��̾��g���� 238 9.2.5 �����gͨ�� 238 9.2.6 ���� 238 9.2.7 ׃���l�� 239 9.2.8 �ָ(w��n)�} 240 9.3 �{(di��o)�� 241 9.3.1 ��ƽ���c�_���� 241 9.3.2 �֕r(sh��)���� 242 9.3.3 ��(sh��)�r(sh��)���� 243 9.3.4 �x����� 243 9.3.5 �x��(sh��)�r(sh��)��(y��u)�ȼ�(j��) 244 ��(x��)�} 244 ��ʮ�� Ƕ��ʽ�W(w��ng)�j(lu��)�c�f(xi��)�h�� 245 10.1 Ƕ��ʽ�W(w��ng)�j(lu��)���� 245 10.2 Ƕ��ʽInternet�Ľ��� 246 10.2.1 Ƕ��ʽϵ�y(t��ng)ͨ�^(gu��)�W(w��ng)�P(gu��n)�g�� ����Internet 246 10.2.2 Ƕ��ʽϵ�y(t��ng)ֱ�ӽ���Internet 247 10.3 TCP/IP�f(xi��)�h�� 248 10.3.1 ��(y��ng)�Ì�(Application Layer) 249 10.3.2 ��ݔ��(Transport Layer) 249 10.3.3 �W(w��ng)�j(lu��)��(Internet Layer) 250 10.3.4 �W(w��ng)�j(lu��)�ӿڌ�(Network Access Layer) 250 10.3.5 �����(Physical Layer)�͔�(sh��)��(j��) �·��(Data Link Layer) 250 10.4 Ƕ��ʽ�W(w��ng)�j(lu��)�o(w��)��ͨ�ż��g(sh��) 251 10.4.1 �{(l��n)��ͨ�� 251 10.4.2 Wi-Fiͨ�� 253 10.4.3 IrDA�t��ͨ�� 254 10.4.4 NFC����(ch��ng)ͨ�� 255 10.4.5 ZigBeeͨ�� 256 10.4.6 NB-IoTխ����“(li��n)�W(w��ng)ͨ�� 257 10.5 Ƕ��ʽ�W(w��ng)�j(lu��)�f(xi��)�h�� 258 10.5.1 Ƕ��ʽTCP/IP�W(w��ng)�j(lu��)�f(xi��)�h�� 258 10.5.2 LwIP�W(w��ng)�j(lu��)�f(xi��)�h�� 259 10.5.3 Contiki�W(w��ng)�j(lu��)�f(xi��)�h�� 260 10.5.4 embOS/IP �W(w��ng)�j(lu��)�f(xi��)�h�� 262 10.5.5 ��C/IP�W(w��ng)�j(lu��)�f(xi��)�h�� 262 10.5.6 FreeRTOS-TCP�W(w��ng)�j(lu��)�f(xi��)�h�� 263 10.5.7 RL-TCPnet�W(w��ng)�j(lu��)�f(xi��)�h�� 263 10.5.8 Ƕ��ʽ�W(w��ng)�j(lu��)�f(xi��)�h�����x�� 264 10.6 Ƕ��ʽInternet�đ�(y��ng)�� 264 10.6.1 Ƕ��ʽInternet�đ�(y��ng)���I(l��ng)�� 264 10.6.2 ���ܼҾ�ϵ�y(t��ng)�đ�(y��ng)�� 264 10.6.3 �������ܼҾ�ϵ�y(t��ng)ʾ��1���� ��ƽ�_(t��i)���Z(y��)������ 265 10.6.4 �������ܼҾ�ϵ�y(t��ng)ʾ��2���� �԰����O(ji��n)�؞��� 267 ��(x��)�} 269 ��ʮһ�� Ƕ��ʽϵ�y(t��ng)�Ĝy(c��)ԇ��ģ�M�c �{(di��o)ԇ���g(sh��) 270 11.1 �y(c��)ԇǶ��ʽϵ�y(t��ng) 270 11.1.1 �������C(j��)���M(j��n)�Мy(c��)ԇ 270 11.1.2 �ɜy(c��)ԇ�Ե��O(sh��)Ӌ(j��) 271 11.1.3 Ӳ���z�� 271 11.1.4 �Ԝy(c��)���O(sh��)Ӌ(j��) 271 11.1.5 �y(c��)ԇ���� 272 11.2 �y(c��)ԇ�����cģ�� 272 11.2.1 �e(cu��)�`��ۙ 274 11.2.2 ��Ԫ�y(c��)ԇ 275 11.2.3 �ؚw�y(c��)ԇ 275 11.2.4 �x��y(c��)ԇ���� 276 11.2.5 ���ܜy(c��)ԇ 276 11.2.6 ���w�y(c��)ԇ 277 11.2.7 ���ܜy(c��)ԇ 278 11.3 ģ�M���{(di��o)ԇ���g(sh��) 279 11.3.1 ģ�M�� 279 11.3.2 ģ�M�������� 279 11.3.3 ģ�M���ľ����� 280 11.4 ԇ�(y��n)���ߺ�Ŀ��(bi��o)Ӳ�����{(di��o)ԇ 280 11.4.1 �·��(n��i)�÷�����(ICE) 280 11.4.2 ߉݋�����x 282 11.5 GDB�{(di��o)ԇ���g(sh��) 283 11.5.1 GDB�{(di��o)ԇ��(y��ng)�ó������ 283 11.5.2 �����{(di��o)ԇ���g(sh��) 284 11.5.3 printk��ӡ�{(di��o)ԇ��Ϣ 288 ��(x��)�} 289 ��ʮ���� Ƕ��ʽϵ�y(t��ng)�����c���� 290 12.1 Ƕ��ʽϵ�y(t��ng)���̲��E��ģ�� 290 12.1.1 Ƕ��ʽϵ�y(t��ng)���̲��E 290 12.1.2 Ƕ��ʽϵ�y(t��ng)�_(k��i)�l(f��)�^(gu��)��ģ�� 291 12.1.3 Ƕ��ʽϵ�y(t��ng)�O(sh��)Ӌ(j��)���� 294 12.2 Ƕ��ʽϵ�y(t��ng)�����^(gu��)�� 295 12.2.1 ������� 295 12.2.2 ϵ�y(t��ng)�O(sh��)Ӌ(j��) 297 12.2.3 ϵ�y(t��ng)ܛӲ���аl(f��) 299 12.2.4 ϵ�y(t��ng)�y(c��)ԇ 304 12.2.5 �a(ch��n)Ʒ���a(ch��n) 306 12.2.6 ϵ�y(t��ng)�S�o(h��) 307 12.3 ΢��ͶӰ�x���̰��� 308 12.3.1 ΢��ͶӰ�x���� 308 12.3.2 ΢��ͶӰ�xϵ�y(t��ng)�O(sh��)Ӌ(j��) 313 12.3.3 ΢��ͶӰ�xܛӲ���аl(f��) 314 12.3.4 ϵ�y(t��ng)�y(c��)ԇ�����a(ch��n)�c�S�o(h��) 317 ��(x��)�} 318 �����īI(xi��n) 319
չ�_(k��i)ȫ��
���o(w��)�u(p��ng)Փ����
��(sh��)�����]
����N
����픲�
�ЈD�W(w��ng)
�ھ��ͷ�