U BOARD ir.

ورود به حساب کاربری
مرا بخاطر بسپار
گذرواژه را فراموش کرده اید؟
هنوز ثبت نام نکرده اید؟ تنها سه گزینه برای ثبت نام ثبت نام

U BOARD ir.

ثبت نام
ثبت نام
لطفا تمامی موارد خواسته شده را تکمیل نمایید لطفا ایمیل معتبر وارد نمایید لطفا گذرواژه را بیشتر از 6 کاراکتر وارد نمایید لطفا گذرواژه را مجددا بیشتر از 6 کاراکتر وارد نمایید
راه اندازی STM32 با آردوینو

راه اندازی STM32 با آردوینو، راه اندازی STM32 در آردوینو، اضافه کردن میکروکنترلرهای STM32 به Arduino IDE، برنامه نویسی میکروکنترلرهای STM32 و بردهای Nucleo-F103RB و Blue pill در Arduino ، پروگرام کردن STM32 با Arduino IDE، بوت لودر USB برد Blue pill، بوت لودر STM32 HID

راه اندازی STM32 با آردوینو
data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/2wBDAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/wAARCACWAJYDAREAAhEBAxEB/8QAHwAAAQQCAwEBAAAAAAAAAAAAAAYHCAkDBQIECgEL/8QAPRAAAgIBAwMDAgQDBwMCBwAAAQIDBAUGERIAByEIEzEUQQkiUWEVMnEWI0KBkbHwJMHRJVIKFzM0NaHx/8QAHAEAAQUBAQEAAAAAAAAAAAAAAAMEBQYHAgEI/8QAOhEAAgECBQIEAwYGAgMAAwAAAQIRAyEABBIxQQVREyJhcQaBkRQyobHB8CNCUtHh8RViBxZyM0OC/9oADAMBAAIRAxEAPwD38dGDB0YMHRgwdGDB0YMHRgwdGDB0YMfNx+o/1HRgwAg/BHRgx96MGDowYOjBg6MGDowYOjBg6MGDowYOjBg6MGDowYOjBg6MGDowYOjBj4SAP9h+vRgxiLE/0+w6MGOPRgwdGDHNWI+fI/2/p/46MGMoO/kdGDB0YMHRgwdGDB0YMHRgwdGDB0YMHRgwdGDB0YMHRgwdGDHwkAf7D9ejBjCSSdz0YMI/WncDRXbrEyZzXOqMLpfFRq7fV5i9BTWX2+HuLXjkYTWXT3I+aV45GQOpYBSD10iO5hEZz2VSx+gBx4SBuQPcgYrE7i/jO+jfQuZlwGMzeY1vkatq/UvS4CxpeDD1paMbSFY89ktRVcVeablWEYpWZlQ2BHO8VmvZrwyFPpWbdQzKKcxCuG1mb/cVSRa9447jHBqDi997AepnsP8AWHH7MfivejPvPn6uk6ncF9C6oyDwRYzFa7/g1atlpbHtCOPG6i01m9TaXlkaSVIVhsZqrYkkIEcLrJE0nNXpmbpKXCiqizqNMmVA3lHVHsOykcAk4BVQmCY94j6gkD54sgiljmjjmhkSWGVElilidZI5Y5FDJJG6kq6OpDI6kqykEEgg9R+2+FMZVbb+n3HRgxmB38jowYOjBg6MGDowYOjBg6MGDowYOjBg6MGDowYOjBgJ2BP6dGDGAnc7/wDB0YMVb/iO/iO6N9HOgMzhdJZHGZ7vpfigq4XByVzkMZpYWUgtT5TU0iyxVa12LEzi7isRM89iSSzjchkce+GnX6yV6Z045yoHqyuWWSxBAeoRICoN41CGeIAkA6tkatQqNKHz2uRIUflJGw+Z2x4bvUj6w+7/AKhtX39Td1+5+f1lemYrWgv5CzLjsfEebNTxdBnaniseJZJZI6ONirUovcf2oFDFjdcvl6eXphKNJKSAX0qAT3LMbsxN5JLDacNCwJ1Eyf6iZmO3p/8ANsQ9u6hsNKZEssSX58gQ35j+hPH7ff8AMSAdtz8LwpBBgD2kzAEzHN+RGPC6j19sdaDVoSbeSWSOQHdbUUjI4YAgliCGUqCdif5fPHiwHLnSACBPcx7jkTN7D5Y8V5gHf9eP3bFonpj/ABdPWf6dcVj8FpjvBmNV6Uw0yQV9Ha7c6qw0VDmssdWouQlOSxsfL3h7eHyWOil8Myh5ZgzHNdMyeaOp6CCofvVEHh1D6lkjUY5cNf2wqrsswzRO0yPa42neI7TuMerX8Ob8YLQHrCfGaE7k1tO9vu6eTkmrYMUcui4LVF6vHDJJiYamSkjyGKzzrI81KkzXqWUgjkWhfkt1rNWOq5/pdTLFnpJVekn3iyglQZhgy2ZDFzClf5lAM4dI4aBqBJE7EH1BB5H48bYusVtj+x+f/PURhTGbowYOjBg6MGDowYOjBg6MGDowYOjBg6MGDowYxufgf5n/AJ/z56MGIH+vf1v6M9FHaWfU+Q+ly/cLUUVun2+0lK5/667CqLYzOSSN45VwuIM0UlhI5Ipr87RUoJIVezcpyPTsg+fraRK0acNWqcqpmFXfzvBC2gXJ2gp1KmhSRBaLA/mdrDm/pjwMd3e4PfT1i91c3arpnNbakz+TsX77RCSWNWt2Xlks3pFCVKtf3pZHCt7MDSvI4RpnPVuq5jpvRqHi5h6eXpqIpqYLsQPu01+87WuQI2krbBk8jn+qVfs+Qy75ippBcqPJTEmXqNGlF7amExyRiTnaj8KTP369bMd181LA8ixyPhcYzQxRb+THNbKe/KQNg3tLAoJIBPhuqN1T4+rMWTpuXFJJgVagD1GtZgp8qD0h5F5m2NK6T/45yqhKnWM61Wo0asvljCqQDIL/AHjxJGkWMHExcP8Ah3dicJXWJ9L1rsgUBpbbTWWZttuRexLKwPnfcEHbfYb+OqjX+Keu1ySc9UUTYKdI3nZQLf222i7UPg34XoqFXpq1DBGuqxdr2kyTMSfaB7Y3OQ/D/wCwWTpvE2j8bBJxK+7BCIm8jbclSC23nySdj5+dz0hT+IuuU2BHUa5EzBYtcGYgkiAbx7zh1U+E/hmpT0HpNACIlGZWiI3B3Nx9OZxFHun+FDDaq3cn2e1AcdkvaaSLD5JjLSssgLJCJADNCWIIDq7bb7e2fG9o6b8cZykyJn6S5mjN6iQtaNp4ViRNm53jFM6t/wCOsgys/TM1UylSDppZn+JQJuQodRrQcSQ0WmcVN5KPu76au59Gjnamc0LrTTmYhyVWzG1ik7y1rMU1fI4u9EY/fSOxXgnr2IXLQSxo/wDdzRgLqGQzuS6xlDWyrpWpldLo0aqbEWWqhnSYJ3EEbEiYyPqeQz/R80MvnqL0akkq0g06ybCpRdZV0gTKzBsYaw/Q5/Cn9Z8nrS9MOJ1hm7UM+vNFWKekNcKp4zy5KDHxSVMtIhklYxZmsjXI5XdXNj6us0Z+kFmzReo5Q5PMvTiEYlqe8aSSIBO+kiPUQecLI4dQwMz/AL/IjFm6Hcbfp/t/z/t0wx3jn0YMHRgwdGDB0YMHRgwdGDB0YMHRgwdGDHTnnirwzWbEqQwQRSTzzSsEjihiQySSSOxCpHGiszMxAVQSTsOjBjw6/iJd8tQfiBeriHR3b33FwEOSq9vNGhRJII8HSvWmky1xwVaI33nvZ25DF4rxWEpO0zVTI9zoqnRemvmKpDOE8WoskaqhA0UlixuQmog3kixjCNCg+fzVPLp5TUcKGmyoDLOf/lQWIHFhfFl3Zn0vdsfS327x2mcDi61nUcsS2tQaiswrJlMzlXjSOSzPM27rCriSOtVQrFBBxVE5GRmzDq2erdQrPmMy2p2J0JJ0U0EkIimwAHMSTJO5xrHRcqmTVctk18OgsGo8DXXYXL1WAks0DSJKqoCgADG5yNl7DkDdEBPgfA3/AG8gf7efHx1Xqh9Nh9fT9zi9ZWmFEnzERG+w7GflOEzbBUHZtwNyf+x/y8D9BuD8dNCIPB9sSyKCNoEW9D7d8dRGbgeJ/MR4+2/z8fb9P/6OkSxJ5Ecf3wuo2mw77AdvTe2OUV65RdJU3CjcD5+T8bfA3BPjx/3698VhF4/I2mTeOOY5wNRpVQVO8/MSeLSex3MHDS+oH00dr/WLoi9o/VEVTCa2r1pG0lrKKun1+FyoU/Szk7o1yi0oWK/QZ1+qqtKkckMwhsRTXROu5npOep5rLPAlVrUST4VekT5qbAbmDIO6tB9MU/4m+H6WfyNXLZimalIy1CsFBrZWsAdNSmYJCk2dJ01EsYIBCz/+HJ0/3C7Oa29aHp87iYq1jc1pK326u24zvJQF7FXNY4t7FGyeAnq5fG5LE5LHWY4uF7GNVuBljliD6f1fO5bqNLJ5zLNKVUZoJ8yhgpKkCwKOGVv+07DGCnKV8jUq5XMCKlJihMGDBMEEi6ldJU9iMep9TsR/of8An/76g8e4zdGDB0YMHRgwdGDB0YMHRgwdGDB0YMfGOyn+m3+vjowYZX1E5NsL6f8Avjl42RJcb2i7j3IWk5FPfg0fmJIAwVlYhpVRdlZWO+wIOx6XyoDZnLqdjWpA+2tZ3ttjioYRz/1PrxjyE/ho9rYMz3+1ZqrKRiWTROCu5OaeXeR61zL31pwcpCqlrEytZYsVDOscrqvuciZP4pzs5ehRpkhKlQyDPmFNe07DUDHNib2xK/D1H+NWrOJ8OmqggmzO3YbyFYflYkYn/wCo/vppzt7lbrZJbV6anXkmNSps7O3AtGJZWcpEAyueKJI4EpZwBx3pK5F8zEMqgwskzv6CJ+o9DE4v+X6lSydFhparUuSqiAoA5O5Jt3sOBvVjn/xPdH4vLWaGY0vfrQRTFFlqMzr7Q3PlXjjZpRuoKoWQgcgxP5A//wDV3rLro1VkiAG79rG19rT64To/G9PK1CtfK1CA33lMWPow3G0n6c4fHth6x+1fdrlHp/OwpajCmTH3S1O6pK8t0gsCKWZB8B41ZSQV/Y1vqXR85kCfFQjc6hDLAtuBEm1pMTfF76L8R9M6rC0KwFQ//qeFabXAMSD3jceWd8PYe4+LgjeeaURwKAwlY8E23A35ltttyDudht8bnqAIYHSFknbm9+Bfj9MWrQNAYkAETeIgCefSCO2GmyPq+7MYnIS4nN61w1K1FI6GKWyNyysV4of5GLbEpxJ5Abg/bp2vTM/VUOtF2Qgmw2HE2kxHIHuJnETW650jKu1Opm6SVRYgtvFjyYMyLTfvhwdGd5+3+srVe5ofVmMy04/v/p6llfqQImUyAxNtIAu4DAqNtw2+2x6aZjJ5vKkvVpOgBBJtpE23BsdvqANiMOMv1LIZ9TTp16dQMLDUJPeVJmRv6ifnJbsv6oMb2I9cPZOS7HUr6b9VmLqdndc2HjjSWPVmFtcO2+daZVDGc5DNVtO3JZXMSYmRS4ApwvHdPhes+ayeZoMSTlgKtPVMhTqLKN7EKW3u0Yxr476amUzFDMIB/GaonlH3guiCRvI1RM7ACBufSb1OYoGM48gf0HRgx96MGDowYOjBg6MGDowYOjBg6MGOD/H+f/nowYaLvzhLGpex3eXTtSJp7ed7V9wcRUhQMXlt5HSeWqVY0CgsXaeWMKFBYsQACel8swXM5diYC1qRJO0B1mZ9J7YTq/8A43jfQxHyE8X+mPH2kHc3thnsnoXsPna+gsXN3n7Z9j+93dvFXYdQao1NrTMHUdzKzYOtncTexmH0fos4HV+No2MHTq2MrbrU8jkshn4r1N8bM1/sfhu+eoDMZinlK2ay1J5FClShAikKylqrMyF9UsRZQsAFzlPtTPS+zVnoUK1enRcpaozQ7a5IPlCaisRdlkXJHQ9QWD7b4zNZmvnNT9x9aZqnDFUluZbuXrexey+dllMbx1cVhNQYOjcnTiIv7mHFUPahe1JNXaWrTs1qg2czTxTp5Wkohjpy1AKi9mZkaw3vJOwxa6q5LJUVatWzD1GMQMzXLkiJIVXUSeZIAtHrVLrGlgdX5C1i8BgdTVZy1yNKFzP5DUFlvoo5prLvUz1rLLAY1hlJjEk8nJeKhmZQZdstmcqgqtUyzTB8lJacSQB5qapwQRtBie+If7blc1VNAUs2pMwzVWqiBO6uzxsSd7ibCxSHbrS+f0vnYNT4DEV8qMVYR58X9ScLftCImSStDaZZqf1boeEaWK2Pi3Yc54189RedrU66mlXqVKWsEB4NVQSAuoqxDxaSFc89oxP9Ly2ZydRc3lqNOuKX8Q0nY0HcINRC1ACl1tL01ud7jE3Na+sjs1qLtRl8aKWptH6rTGSxNUytaJIaFqBPbeObIrOgLQyj2pgtdiGVhttseq8PhnOUs2mjM5KsA8lfFZajTLCKRQza8BtoOLqvx5kcx0+s1XI9UoA02VXSgtWgriBHjLUUKoJA1FBebSYxU1cXS2fy4uarfUb17UvuK1UwUGmWVw6ss2anxygOvlXLLyXyhK8SbEFzOXRqdGpldYsQpaoQVtH8NGBvb3Mb2xSDV6fmX8bNUM+KWrUHPhUyQxBEmrUFyL6o54ERK7s9PpvRNyrqDt7Q7iD6Z1kN1cppnKVA0SmQhXxWqbVkyhEd3rw1JrHEMGhMfNOobOfaawZM3Xyl7FdNZJkxDBqIUEx/MYva4nFm6W3T6YFTI5PqLxPnFTK1dI3BUrmQ5IFwqqxvsNi9/q27/wCSzyenHUOhHz8+tNE6lsanev8A2fzmIzWOt4w4HI08umLymNhs2sfTvVHBy1KC3iJXrMWsoJEiVx8MZJstmc6ZTwnp0gjpVp1ULam1U9SMYgbhgG43kYivjXP085lsgn8VKyVK7PTrUKlFwpSmFbTUVQ2o21IzKSLGIx+iHpe7byemdO5K+Y2vZDBYm7dMSGKI27VCvPZMcZJMcZmkcohJKrsu5236kjYkdsZzhRp/KP23/wB+jBjl0YMVt94PxO+yXZTO6v0frPTWtqWs9F5I0crg5Rp72DXcRvUyMWTo5rIxvBchmhmhijryWFVzHNHHNFLGiVStTpMFLFmMABVNyRO7AC3N9r4f5fpuZzKLUp+GKbAnUzgQFYqZEFtwYtBjfD1+lH1l9rvVziM/f0DDksde0y1H+LYvKvUdxFkfqPp7FOavMZLEStXZLJkq1jA8lcEOJlPXaurglTtuCIIPr+nfCOZytXKsFqaTqBKsplTBg8Ag83GxtziW7MqjdiAD48nbrrDbHLowYOjBg6MGOD/A/r/56MGGp7nd3+2naqnR/wDmFqnH4A55bsGKpTxWr1/JipEjX2qYuhXt3rUNOKeN7bx13SNZEViXkRG5aolKGdgom0mJIv8AkMOstkM5njUXKZarmDTXVUNNSVpq0hS7fdQEyBqIkggSceSPtD6bvULk9K928lZyWF1Zie3fevC3sXWwVqahT7j5jSsifxW1jcrnaeJtQ2bmls5Lew9rOU8Y0t7L10y8WKNm39PI9Y6h0981T+yltGZylXxary4pmsZUBVLatDrpcKTCjy6ran/SclnKNIjMppzGWzdBky4IplhRUCsGJsGZW8hMBiRJF8dTX2C0DLNevZmpldF56eRHa3rXBZXT8cUsbqwihzuSp/2fuPFIN5HxeYuJ+UESsoRjArWzNMBabLVTtQqo82IugYVNiY1qImLDFt+y9PrnxMyKuWcwB9opVKYMibVSrUSB3DwdsRnm7Z4Rshc1BU1NpS1YvGT3L2Ekwslm1GSzOZshULySNJtvKzOS/ElzuT15UzmacCi1LMBRJAcVNE72U2gTEW3vO4d5bpHS1Y1lzORLEklkNAEbWOl7bXBtIJscNNreng8J7GG03co53X2rL0GC0/p7HTw3rcmQvyxUY8jlYqkjy0qFNplkmt2hGBGjmPmkVh4kqdNy32jM02p5TLDxar1AUFXRDLRpBo1NUI0kKCVEzxLnNVsulMdP6dVTM9SzrHK0kolXGXWoNFTNVyshVpISRJBZgIBCnFguo/SH25y/p+yvZ5sVUmkt6St46DNvUiXKNqGajIBqIzKhlGQlyjnITEMwkaSSFw0TMnVTqdRrr1D/AJHW3ieOtYqCdJXWGNMD+nSNI7W5mdBp9Hyz9FPR1potEZJsojQJB8MoKxYX1az4jHkkyQDGKSI+y9jVWg6KW8fLFk7AhOVELitlaWoME1jD5Sp7s8c0fOhkIcjj7FaRPaDpInCORQUtK9RXLVyylQpJZdQ1KadWHViB3Ug6gfUHFA/9ebqORphlbxNOiqFIV0r0SaTr5hDFXVkINoG2qMbfSna6zgoqWNwFXJYTIVY7SXbN325BmlsziZlviFY439lwTSkSFTWdUI5ICC3zfUqWY1NU0VA22mRp07FSTYDtud5Bwt074cr5EgUTVpVFu4q/dcGLMF8rT/K3EWAJxj9XlfMS6U7W4rT896XVeDqwpikxIsLmaupszrHSlLBjFGuRa/iliWKVaRqlbMntymDfZx07+FnjMZmpsj1ADexRKdVmBvB3EweQOcRfx1TBOQpkiUy9SQTdWZ6SBu8HST3sTPOP0TPTTpruB259O3ZXRneLWV3XndHTPbXSOI17qvItHJkMxqqrhqq5h7NhHY3palr3KJyliR7mVFUZG9JJdtTs0yxNR2cIEDHUFA0qoPAF4A7D5WxmLaQWj7oJiTJiTFzvPHfjD5wXRIyqIZlU/mLshChSu6sCdgQfHld/23BG/hSJuPT13/G217451G3lPr6fhH5fnHOxejgAZhsu4HJvA+5O3zudhv8AP+XXSUy03AIn124MG2PC8HY/O36Y8fnr69HPeHWnqL9VveKpRzljTum9VU89FO+PzOcyep8RqKpJmKtbD/w6hPXgwOidO4vI5LJ5G5LBisJhsfFj7FxMtJUp2WxRw1WQSFMiRYW3Xk+UmbnsNjiboV6Qo5VFYK9RWDBWuCrNZ5MLqYwtjc6pGIUdg++Oo/TT3L/jVHU9/ES4qSjdeLH5GeJcjfwGXo5eviMjLUmQCtkvop8bdjn5VZq9qSK3G0MrN0wqtU1U3obpVXWJgMhMOGGxEGRaeQZjE0iUatKtRzSgrUpMEZlDGnUCnRUQ7hhtIIkeU2N/SrnfxsvRFjvY+m1Rr7UMkniaPBaDvyCmwjRmWV81bwUcq82aJZqrWEkeN2TaIo7S4qUwAZiY2Ux7ExuO0c/LFR+xZliQVEibM6j8J/K3bFyfSeE8HRgwdGDHB/gf1/7HowYpj9f9jFZ31F9t8Rm4ZlxWjO3l3UczzpyqyWr1/LyQNGhDB0MuMqV3fwZJv7jbZORg+qsTVoJsFVqkna5Atfe15gXHE41r4ARqXQuuZikVNbNZvKZJVBioqqpYt6BhWYA7yp9caDsJmsQeyWcakgSKTWerbs5kVIpZppZa1OGxNEsrqkz4+lUOzMdkijO7ADZszllpwTApIonsLkelyfbY8jDfPZdaWerakUO1TW4VtUMSbE2vEcCBbaMRI7h2ZLdq2tZxGJHcH2xuVLcvP5vHjfyP1H6knqNqsVYETbePqIO/P6HF06dTQ0EU7xYMIEExxO5/Zm8SdRdvtMyzSW87p/BZRnJZ5Mlh8daLfPkmevIfA+eRO5G3jfYpnPV6f3a9ZB2Wowi83g7i+34TiTHSsjXEvksrUMXL5ek8cXLKSfTnthRacHYrtlhcXrDU97QWg6j22npIaeHxEk01WWWmtphBDXAKSmaKKaQbgM6o277FJq+YzUKXr1pmELPVYxP8pJA2ANxwJNo4+y5bJNUajlcvltKgGqEo5akhcBbvpUFiDsDIkQbxhWZj1FdtRYr2KWYgs0rCCxBYilhENiuy7pNE4k2dZFAZGUkbEMCdwTEZpnDFVpuIJBkGZtaJse/HG8xYemZfXl/NXpeZSynVPlM7GCCu0mR3AAuK7dc6Q05k9T5XNaB1fmcPR1XeyGqZI8FYxN7HS5TKXZJshPLjM1jczRo3rNlXmvvjIqByEszXLQmtySzs5odUrU6IpVqVKsKaikvjKwqKiAhQKiOjkBYALFoAgQpACFb4cy1Su2aymZzWVqVialVspVVqFaqxGqoaFZK9LUxBJKKuoks0sSTttD6dzEmSrVsnq1PyN7aWslo/EWJSNwD7klSxjEJKn5FdUBG5UDwGtbqNMAlcqsEiy16+mdogs23eZ47nDpei5sxPU6raQR/FyeTLRIi4pICALCwj1wptfdv30l3l7E9zcJBF3A1Zo7VWmdWaUo3sVgcPpepq3TuoqUOlLWdx0GPnny9Oplsq9qvUyeQnrLdhimVF2LF3lfiDNZPLAZGnRpVKtdaehi9Zqgcwyh3aEkqqkqFOkkEmMQg+CMl13qeaXrmYzVahlsjWqGrS8OiKKpTqOGVKKKaj6Q7IruVBW4gmfawNSR1qFX640LOWFaIXvpfc+i+uEafUmrHYaSdaxnDmBJXeURlFkdnG41ZEZgswCQswbXAnT6dsfLdQoKj6NWguwTWAW0knRqgRq0xMACdrY09zXEXAh55ZJGBZo4uUYDH8vEsNmOx3IX4A8gEjbpcUr7WvvxMH+/7nHBeLzta1vlaPfGisawmnRo6y+yCAGkaSQtt8HZSx2G+/ltzt5I+wUCd/p/nCZfePkf8AEYbzX9rLZbQOssPjlguZHIabzUGOp24xPWt3ZcfOIKliHbjNBbkCwSxuCrxyEMGQkdJ5hP4NXSJbw2AE7mDA9+B68ThTLPGYol2hfFp6jGw1CTYdt8eCnUuPzWKzWWo56vNDkcbmb2Oyq3RLEwyNa7LWuJKwKSB2sI4kKEFd2ZiNt+q8plQdpA9It24jti8NIJUEG5g8EA7+xERbCClsrFKwEglBA2eFuasPIBV1JDodiN9zswI6cAyAf3a3phqd5mCeSYnvuD6ev0v+mbBlBKwB4qD5Lb/GwJ+PJ8+APn9iepV8qVE/gJP1O1t+MURc+5YAgAck27m8n9fS2NmtiFhv7i/OxO/3/wC3z8npsabAxpPpP69tjvh8uYosJ8RPWCffY32/Xtj4bMIG5cf5kf5eN9/89uvRSc8fnb8Pl72x4c1SE3ntF5HMeo7GPxxrLGSjXkAdwfJAYAgefjcnbx8kbb/A/ZzTyztFrg9uRe/f0EH88MamdMsBYMI5mJItEwe/OK1PxA9J1LeK0h3PjiSIYiPI6F1BOIRL7eLzwGQwdy067sKtHM0pqrvsyrLnI28AMTF9cyTLl0rkFvDYq1jAV4HyAYCBYc2xoH/jrq7jqGY6WCFGaSlmKA1aWavky7sq2Eu9B6h7t4arckYg/wBvaeV0/wBsNVY3JSRV5K2q8isJgnilSSrLTpSwvK8TtF4sPaQEOSRAo4hm5NWw/kA5RSt7giTH1Bv2xfeoJTbqVOqh1LmAtQ6lYHUDDLDXJkXgRDSbTiPeUyfCzPPNIGRS+/ncALvufnyd9yf1Px8+GFc2O3cfIb+vzntxix5SAFQTM9+4P0A3+u/LF6jzZy92SnA35Ad5ZCQERfP38Ak+fAH67H46iyrFpFhN5ESCfrb0xZaTrTprqgE2iQJ/HYE3PracRN72dme3Pcq1hTrKeTLJhZWnp4R7BONtSgu6Gatvxl9mUtJwXdX3KyI4YqZLJVsxlldqU0yVKl7aonYGLDfsex2OIfqy5PN6KVdRW0kOtOZQsIILAHzFTAiN+IxBrXGgL+qruZ0tBkXwenaFKTEUjh4Xx5p1nLsOX0b14wvBykhiWL3I3ZWG7MW9OZFJlqQKjk6jqIbVEQZIkttvMR7QfZjUomgGalR8PTCaqZAIvJUjSpEiLSDGJK9ue3I7WaTwVXGW58jiqddIjPJIJ9g4Vg++zcEY+ECsQAACWJJNbz2Y+0VarsArsbiwuJ4nsYmL/Q4vPSKKZehRpKQaYQaBM2IsQb87C+HjrakpbxSMqq42JKkE7nbyPB2+33I/U+T1EMSTB47TH44mDpBkfMkD8/0P+sJ1DqPU+tnrrkRjtP47C6fxUVmwrrHFm7eehzKZNpEUyCtjYUx80zqkjqkczRgyKVbqqNOXyqIwR3rhzUJnw11hQxiIv5oB2Ei9hz0ypl8tX6v1PNAHK5bJ1i6MQq1Fo0KlSsSz6V0+GSl5BZrkacei3U/4iPpR05hJ8tX7qY/V1qOtflXE6Yp3ruavW6EHuvS+knr0osfbunkKi5GejWlIdlnEMTyLuC9e6UtOgBnKNRqqlUVG1F2RZbYHTJBjVEG3rj4aGRr5jMmnTQKalQ6FLCAGJIEySQv3eTaIm2I84T8XLsjbuZSrnO3XczAx0TXavYrY/EaintV5oZHksy0KF+K5UWuEUMqJc8s3IxkIJUW+JMijBahKFjCyViZi51ALfaTB9Dh5mOhV8voU1aLuzaWRGYlTPMqLTYtsDuOcfKn4rnYrKZCSpjtKdxCrrG1Oxk8bi8fLbllkaJYRjly1rKRFpFOzmmY4oyrzmIvGr+N8S5FWYKTUCn7yspEBZJJmOwtafTHo6FVYEmvQUgAlQzMRJiAAs/Pbm8GK9PUp6hO6vfPXeoLGP7w9w+3Xa2SCpj/7AadrPLNYpPX5pRfFYXM0K+o5p8gxNy/YurM0Fjw6wVKVOKAq/Ey5rMPRphtBmGDqFVVgFirMtwTY7E7ziZyWRy+X8NBSWrWQy9Rl8sEgWLISABYgL96b8ivnN9lNE5OwOemu9MVxprk+Ut6hNK7Wljsqkda3SoZWGCo8s85szR07cOTdY29iOa3MhtCPz3xBQohFpZvKM0hGVq6B9cSQfDBI4klhAAJO8uvHp0mIenTbU5idQCqdj5mOpgCIELBEheMLQem/QWjPYwx09TvPRr/RG3lc5k2sWRXkJ+okqrka9Os87yPNwq1q6IXdBGAB1F1evdQdiUrmmJsqKkKI2BKlu2+L/lug9LNJGqZcVWZQSWNQ77mAbSZ/LcHHrr9O3rM7fd+7trS9QW9N6+xWLr38hp/JCNa2UQAJkLmmbqyMMjRq2SBJBYWtkoIJUlkqPBFLYTZcnnaWaCoRpqAWUkjUQL6b8gSF7Ax2x87dQ6ZXyRLgmpS1HzAk6BwXkAkHaRsRcniXn8Z4nZ5FHj4/1Pj48kffz++436e+CsyFvzbtbt79uewxGhiTBX9PwPy5xjkz0fxzU/vu3n9fIJ8bn4/X7+evRQubQB6Afjsdsdzt29/TtztiDPqS9a0HYDV2gKD6exWqtJ64w2XuJlKudjpWI8hirlSB4K10Jdx715K96BwZYE5zkKLIDbKyzmbOTCOqrUQgyFMsY7EWkTfVaxxK9O6aM8z02dqNRY0ll8sMD94GDEiAVm9vUYc36v8A079yu2Obr3tW4ilayun71hdKaosR4S//ABjHILlCmtq7BYw8lqLL16j1poZr8BcQyvDInOHpL7f03O5d0esqiojA0qlnBg7ESJ/pIvvaxw7TpnWOl5ylmKFGoWoVVdK9IFkMG83DQVlWESJIxVt2i7v3O5+I7tJlTVWKle0w9GvWiSKuv1dfUlWWSGVPEwLYxCZYwpcruQxHVFzVA5cE69XiN2sFWIHuQQDtxwZxr+T6inUKuVSnlzROVU6zrNQ1GqMCSSVBUAqQAZCgxIgnDIa01NVx9u1QmkjVgJ3VQ226RDYKeR35MSD+Xf8AJ5HgjeMdSwn34gXtxt+p+eLflW0srEgtB0ibk/4EyPrwcQJu94atbWl7H5RNQmoDatSrgMVfy1mSGoWCwiGpG3tSOvERO54oxJZwhI6c06BFIFAjGw85VRO0zImO3JM3wjms0KmaC1WqqFUkCmtRwQCBfSIWe53Jw3mr/VLToyzz6Z7Q5x4FZq8d7U1TJieRV8ytJWrU3hruQC4T6uTh8kMQdkqmTqldL5lFH9KQbkmLkrI4gD13xJ5Wvl5V6eTrV2EDWyupNxqMFXiwMQZNjFiMMlkPVvoXA+/cj7eZBrmVcnKVMo0cNOvuAZxSmRXnmL+WiMsVcRLtyDEeI9ul5lxBzCDQZRl1ajFwCBAEz/USMWGn1TpqKzPlKrM4h0YJCgCGAkmZPotu3Hbseqrt3NppLGlcvPRexbhoz6Py5UWYDOm5OOsJyit1NgxBjYurFeQX4LR+nV2qFa1INClvGSSCB96YH3htFjYnbCb9ToZakrZSsY1AfZqhhkkT5DMQI/7TMiIALvYLUkdvGULblTLdgglVEP8AimVT4IG3Hc78j8fLDY9V6qgFaoqzCsRef9+2LNSzOrL0qj/fdFJRSSNRF9M7359fniUmGwdTM6aWGafI46eKQxL72ER62TsW1xSe7BIYGfIVo6kdmqbRFmvTZ5EiCETyBJTLQwUwjaQXCgATJmRBAJgWJOxg4p/xf1/LZXplfo1GtTfM9QhMyqPL0MuCXqU3AJCeP5QykBnSQZUg41tXtRbr3LK19R4KhSWJ5mq2NK6ft26avKvAR7KbCPKvJoJ/ZjlZCEYkiTaNq9Ro0cwEoF3qIpl1zFQBJkH7pIkAkHzGORItiJy9FKrNSZKZA1BlgMgBkwVg7eYAngAyMLZMZofG0WxuoNVQWnglEt81U0xiffq+0yvWalBVjtEEiSROKq3upsJWI2ZL7RSWqGLZis9RgGIfMVTpJDGGZmmxsFhd+Nx0pAXBLT5nIJ4JYdzO5gGb9pwja2qexemZMutjT2NuU4o/r4s7k6NHIxVwrxpKlWEvNcuGF3lBAx7QSsJCLEntgs7ap1OqrPSfN01cmlSoyytHLEkDTIsLhrjaTHNIhA4Wg5MgKzUiwMA6gCYMrNwbzvvjvVvUb2409FXx4zzYmuyzS04cRpabAKsPt+4vOvJFTk/6oHeKcGOOwvGSvuAx6bUumZ6vXp1qdI+MieHVr1K/jNoLeZSQzwSYVluy2n05d6g0IFcHgIhGnVAllUEiDu0SLzjTXu/ul8tAZgt/IuGLU4rMVJeBhWdUty21nt2ICOUaH23lQxlUXmVdupSn0DN7M1GkWfWzhWZiPYxa11sTJJ7YVo9KzWaUPoUqWAHiEyADBaI1QI7XuADvhue+xtrqZclQ2rVNQ1cdn6Ms9p44pquSx0Fk+0WbjyVpUEiiYkHyVYEMJikqU2dHIZkJViACSRF7yRP+JsMaflTUOTyyxqKUwjWMalsbSPYW2w/9bUmRwusqLYq/aoXYI7VoXaFqapbgiYpBB9LZqvBNGZS8bconRzCkyjkHKnShVK0TVDQyMqrBIOokk7GYAsPzgYx1UV6vhMqsKgJYMFZSkAXBEXJ5/pJ3g4W+J9UPeLtDmgMN3Z1jXhtSe9DBPbjzUMdZI+cuMs4q7K9Kcjg8la3Yo2LIDyO3JxzbsdRz6p4uVVmqIpUg1CEZjZWYmSRLSwNrbjiE6vQpZZQq5VcwtSoGnSFNNdioKwb/AMtlkAydjjPb9S3cfVYgxJ7099cqLNa+k6DXF56c1eeVnZJqlPIq1kKHNdoyZFkBkiMaRI0Rr9frvxIr1TVXLqi+GNOrMargagCTo80ki3lA5kENqTZUsipkgDAkimG8wgrI5O07yI4JOG2s4fuDma+JwGXv5rJaQ0dPlbem/p8eIalQZ+SvezbW7F6CFakMz14pJpbd+xBVMJf3IYRIjKt13NVqdGjl8qzF2bWtXWSrNAOhoJcEqDcCBHriRVKv2jxVyznyoDCsqkKLKSVAWCSD7mTcYTGpIocfpfPz5jNYPLQ4unG64yHOR2ZKWV9m9Wx4gu4exDyeI1CLsNLISuYa5htkR2IQbB0bp2azmdompQFOgDNY6pYrEMoUAgEttcEC8E4W6r1VqWVNIArUYaafnBZSIkwJEC49AYicN36bfVN/Z/U8+gdX1cTg4sjitqmahszQ1stZpWYRBUaPI5C1J9Rxt3po0gkkUwiSSUrKObSXxH8OtlaL5rLVMzXUETSbwytNQrEsNKBiQQJ1E2gDeMOfhPrYfqC0MyaSLUTww238XUNJuSbyZvuYiJOJC9wGi1FLJkMVNG7SiQrxfkgaQH84KeSPzEFSSBuu223nPPFKkqwPzt9Ykn542enRkKywYuG+YEgiR7jaPc4YfTenrWFu28heqA23d2+o28lV8nf7EHYAA/v1xUrg+VWgbmbb7ATtHMf7f5fLgS5UFrebtHaQOdv0w0vd7WfdSszNpfHC7Gq7SIcZYtMVG52E8MY3HE7Eu2433I+w9oik8+LUZRwQygR3OqfedrXw8bN57KIWylGlUIvDqTIMfdKmSbGZHax5YGpqjvFlrEcWZ0dTghlcIxmx9kSRwnkC+0Z3VCeZUs3Ety33IPSOaGXpKSmYZ4mIIjeYF97WtIt3s8yme6nmRFXp9KkGPmLKwMHmYMbGAdtjzLiZXQlDUGGSHLYOqs6qvCRasamKVdmDIqpsCTvsSDufPJvnqB+11absVqPsZlmuCLbmbXjEu+Ty+YQCpRpgj7ulQGBHIsL+pB1WFycdXSeNuYnIUUtufp6rrXjjnLAFQSEKkEgbb7r4b8w8A+CW9Vg9lHnqEWiT/s8d59ZwIppfxKkeHSEX2gDm8WgG4O3NsTH1JFTGAq08T3KzMc6VlRlrYyKxJTSeKPlBClaGJVihd2jq2ZWayolZZZpCqqjWpkKbVqT1FbSranphyErMqkDWZJC8lJAOxtjMOp9ATqfVKueOYdBUzD1qlJAoFQGdKlidSgCBpC3AM7yIZa80/liLFrF90buSsSQ8HF/UlupP7sSEItilkmnx80XBSqwS2POwVWRWPGVork1IX7FlkXUSAlBRAJuQVAIIPmnki8iRhTNdAybUWWlTRH0WIFMFWAkNdb94m8SDwW805h8/Dlor2bzS3/oWVlSvPXmps/Jmr/nhIrurIze9X9v21RSZmcr+SRqNltOqnTBYgxO6iwnmIiAbR9cMMv0epVroKwhaKkCI0sGsCIEGBIjiNUyL8Naaipc0gWWKScMyBhMsjD3ElEnEAsAGR2DFf5kcKzNsePNOo57hb7gXNon2Ow9jxidrZPKoqgICVgLzp5JBMyTsSbn5YSuOyUuVtQwiT6p0iJWWRZrHtRyOWbyzNEOTbqo2EgBIQr4Ic0tFIMRTRdTEmBBZjeTG5PMzNycQY6Vllqu1JCpcyzAyLk3uCBJk2tvA7OvQlWnHACzSVipDKEdVkl4l9mHBXEe4G+77EbBQR569eoXJMeb2iAOwJ/Df8ZdnJqQii6oZMWLETAab2JJO0+xjD8d7prOYwnbiapjrc00WjNLwPYqpLOntQYKCIJx4Oq85RICfcZuUBB877RlIqK+YkqBqEqSJJIHmMme4gCIPtiR0lMvSXzEanjSNvkZgG5EkmLzGJjxZnsnpmxJfRGy+RJCmW/l7xaKNVISEwiOpC6oY0HtCNZAFURhyRtdalesyhVA0jzQFIEk3Y+t5n1tjLaWTRTrIlmMTqEwI4G1rRuYBvhPZTvp23xF4WI9M6J5GLf6+1QhWxM6KDwE92C9Mrvs28xdg77I0oHluB9oYQpqEcgE773AMfh7Rh0ctlreIlEg3BfSSY7TNx6Wnbe6bterrFVuOPwNrTNeeayK8FWq1F59pSIUrVIayJK8k3ugRxF+RkVIwrsuzHgVWM1Ec95Dcc9veTtPvhYfZqcqj04mSF0jjbcAfL0+Xe193yy2N0nbjN0WryS2IsivJr+LtWYIplv1VepIivFjb/t1Y4kuRQXLFazZjsS15aF/HSuSyiUiGdQXNyBwpvpBIMSInc7TwMQ2ezQOpabFaSAhWAsX2kkEE3Ox4JNrYrRsdwLaZDUeByduzaazLUyEck9hZJJmgjnpvO8ImeGvIfajmmjhUHnNyk9xnaZ7/ANJChZUKCQDAO8yIINyQDvYAEAW2onUpaGOpiGK+Y9wbb2mD9PfDFavuQXRMJTJJIHD17KOqTVZAeSSxSqEKNGfzADfc7fB8idkVAUeHBBBBBKn9D2v+WIdXam4ZCVYGSRIJPvJg9iDPIMxCh7besLWvaSWvgNdPPqbSfP2qGfBea9Si5FVhyMf806Im/GZWMw2Ct7/yKJ174To5hjmMjFOq0s1KAEaZjSZ8t/5SCDuCNsad8NfHGZyiJlc/OYoKAKdUn+Kg/pqGfOsEw24gTNziy3th6l+1WvcaswylRZvaWTcy15I5QSORTjIzAqABIsqqUZdj+2ZZ7pebyrwytc7QQynmfltE2+QOw9J+IenZ5JSqFgTeCDImQRJOxmQIIMxhXZrvF2/qRKlKxTZPeRJ/cCR7K4O/gjyxO23keN/HwOo9stXBgq0wYsSLGJsJO+4kc3xP0uo5QgEVVPmgyQtzMGT34Pyw3j98tFLO8EjVPbfls/vV92AViRwJUnz/AF8fO3TDM5SsVJE6gfuwZ+o77m9u9sTGX6rlVYIzgA/dOpIJE7CQZBtESTzAu3esO+nbnE4y/nJZa0M1WL2VVWRy3Mc9lRSd9mB3cqpA/bcdNFyGbqOtIKdLnVvF+94gkW5wpmes9Ny9J65ddagJeJIAJ02mF/v64ijp/vppXvJNmocJl5as2DthJsUj2cXkjH5MGQhDGtbmoyyIRFarD6acpyjlkRvFiPQM1kKC5p6ZcESQLmmCJlhfgGSCdIMGLxn9b4yyPV802QpVjSiACToWu9tSowIspBgHTqglZxucBLIMzLBDk8kkd2OxVmSxmMtJDOksLRlZQbj8pV8NDIQXScI6srgN1DZpyKbWDFdOmFWRBm3l2EGQLkE3uRiRyNJTXVQWIYEQXcgzbgmDex9IsTjPe7faOlkSb+A05HYcpGnjM/JvzBpG97kpdiVJYgknYtudz1GDNVwCDUK7QAq8W2A2ttb3viZfI5cEHwxJF5LMPoTBve8n8MJ6HT2J07qjDClXhxuM1Ms+nrcFKCFP/V447WQwtgQ/3cTF0jyWPdj5MlyqpBAGzrL5mpVFRGYuQNS6ryAQGE8WhgI4PrhrmMvTp6GRQimVYLYajLKYvuZB+V8L5dDrHJLJHRyNyVCBPJJXZgvniFVa8ShUXbbf83kkjcN5fCo5EbTc2E2sTcxz6TtzGI91QGSSeNudhESb323O087qpo3LLCppYS4scJLTvFjbVZVjO5SR96yAxOEciUM7nZiYwWjZnAYAiaize2ocC/MCO235Yj2cAmEaxNgsH39QT+vthW4ft1q3Kx/9PjZbEKwRzRrAp9owy78XRuZMnKVGjDqfbaRCq8QHVfTVRTdgBySR9I/DvPGElq6mA9CYUFhAnYxcwLbC2HE7hZvU+k8Xp3BZIvSsY+jUrx1ykS2IYES0FjZlO7Rt4dOTnbf8qgHYRhppUr1WWW1HVqG14Ed9wYxOUHX7OrFQGDFSDeBE7CwNtrn14xO+9gPSTQyLUMhpTtnJloSFnx+ayhlsLKWLNHLQymZIhlRl9sqYuC/mh4l2G2gBOplRpSqF3nRFu4gXFuDFrTeMbDdPa7ZmmSzEj+JqvP8A2MHnymAJ4GO/VxHpziaOGj2Q7P35S08MdepprS9qxJPCzwuzvIlkJGtiN4ZbNx6tSuVaSV9kZig//I6gCa0kx/OtzBHMXF+8SbXw6pJktMmqkBSRq0EkTxAkXsOeO2Gh7ya57Y6TwVrEac7SdvdHatyrDH4O/T0nh4rFVpZY68lqjexeEEgyEG0wqSYuxcaO3xkWwsAiMzzKZTNGqlTMOxRTqKly2o8A7iJsffe8YaZvM5daTJln1VGkAhSEE7kkRuLC3oB3ifbxVfQ3a+lQ1JqGLL5W7kWzzWKkk6UsVSNIUa9ZJhHIVtTojyfRQBlFkAPPHdh+hvzclqnlXSBaLgESBJ4HqSTY4hwmjLlWcliS0njsefLf08wIud6we6+rFxtqrqH3Y6Vitk44TS92d7ktbILJYleXgkkbpJE23NbLN7lSNnZfcSKOzdLYh9CyQVJJEkCIAO5ECIm8g25mvZ5FKtJj5bmAZ9xxPYSN4SOW1L9ZWjtQzswZQ3EOxGzHcsSfB3B2B2IAPx58WLxLgCL/AMoFo7nj8Z9I3r+gwZE95Ebxt6me47zYYaHU2ca3DJBzJik392MkNGwDb7MpBUncfsRt++3QRqUlrja959N/XHasdSgGIM27zzeD6A9rSdmhbVOo9IWmymmcvbxswDCWKCVlhmBILcoSGjJPlTsit8/mB8mMzmUy1fyVqKvsQYAYDtqF99gZ74mspnMxlm1UarU29GN5uQQCJ7HuMbST1K6/eJ/q7MrvHwklRVdG9jghE4Ly8vIkaQFhx4spDMrACt1eg5U6jTMgAhZ/qmIsNv5fX8cWWj8T55VUMVMETdgSOSJYy0kjcAxExgod6NYZyWOtjvrbFm1IBDw9yaUyuCoWPi7J99yeXEbHfiOoXM9NWijNVVQijzGABpA5MSOOZ4mdp/J9cq5motKizvUf7guXBi4ABm0kxPrIF8S1fQ2oNG9h+4XeXuVlDJlqukclW0liZXV6uJy+WhGGw+TtA/3dq/HkslUNNFJjrujOHklMZhq65ujmOqZTI5KnCvmENapElkpt4jqvIUohm9xaBM4u1XI1sr0XqPVOoP8AxFylRctSP3Vq1F8Kkz3hnWo4IBmCAYPFbXbrVeSw+foW8fnRicnWW3NjLiPI0tWdITPLSsVoHd7WDyfsmOzVeHeGwY5YXhcRzjSNCVKZV1BFgwI4jcTaTe214Ixi2oiqWVoIMhpuCBMzYg23BkXxax6Su6t3ulrC1pXVeSx2ldSUpq2a03JqZWwsOpaQbHJZwOMmeqkV7PI809qjXCs1+tFOVl9yGFZs++LOgihQ+3ZKkSjBkr0qSlwjFWK1SB91Ts8iBYyJONO+CvidqmY+wdRrA1UdWy2YqMoaooZQ1Ekka2vqp7kra4AGJz6lx1jH2vNR5ITG0Dy1yssP1Ij5vGAiMY3hkf25AyoSYSTswbbMxTdVlwdgQTeI4Mn5AkERtjXjmKLkhSNoEx9Ra/F5N+cNVqQZ2uuEyVKOhXr0M7Qv2LOVSj7EAqkyVrUK5ESRyT1rTwTJwjMqSIjIySBQXuTouS7lWUaDpYmAS3AFrETPAFucRHVOo5XL0glatSRRUU1QxkBRMajeDMRcEYsx7ed09E6hq17E+ZpYu5jnbHXaiY6ST+MRf+noclXqQvR4IpgnsmlVjSOSGO59N772D7qwylYmXqwGAMAE6RJ3gwTHYsbQYiBAf8rlH8UUVSoaZhSKinUsEqb05gcb3nSTE4VeVyfa+G8uah1HkxFbZ5L6waB1kzWr9WrUjrU6liSq9THIUgeQ1BbLyFIIo4JOTyot9khSzVCFU2+6CSYEi9yZ7QLkzhqepRfwgWqEMWBdvKLKIWmYDTA1RPa84UKRLUgxmSw9iphqSVSxv57F1qOajgCSjG+xgzZsS31hyk8wnr5iXCPVRpZKqB5ADy70qdj5iLhQwOrYeZtQjYGQNxYcYdUUq1wWFM0mYi5Rh5T5uVUgRtN2N8YMxZ7P5O0uU1VUxWfyM0EUQualq2cuURS5aKti66yVKyhwdrSM8gAauZZF2YpHMSSVRV4NmJtwSNzJncDsOcPKeVzFNApqvAYnSNKiWiSJAMCLCLA78YpS1b3h7u6KaD+10lLUuIhl2nvacsYPMVLScf8A7kQ5nEpnK8cSNsUWvRlMuxjtlAAfpjRTZgpRBYgEbkG4XTMflvJ9PlwOWMlnEWCmdRMkEyOSe5II4F51Efqw7Y4TSdqrh9ET1sxYEyJl6OrM9is7BK7rYiv3USSHT81qCeGFIqiYCzjZ4YIlyFW8GYBrXyFKsxeo4HmChFRQYj+oX2ME35Fhh3RzdemFVNQhbszkzsbCCbXPy7yMMnm/Xd3JggixuGyDQYyvDWrVqr3cwI60Nb2xCUipX8Zj/qEWIsZRjDxlsWng9n6yz7qf/E5UoJ1KwkypFyZsbSDe0W3NzJw4/wCRrhjLBtpU8Qdxzexvz6b6w+svI6oxlvGaqyFuKFqsLGIz27E0uQimgDypctm7YFKeBJEXHLIEqBiteSKIALHv016bjR/EUm14jsGExYHeLzth79v8RNL+WZkgzJ23uYg7H7pBiLywete6mK1pVnrl7sdinaBpGVlEc6Tr/fSoqcUUq6QokbJzIdnM0khYNOZDLfZgzMRrcRA2AXYbm83MGNr9onM1PFZV0+VSTJN5I7zO3vub40OF1HbqV0qXwWSNd4JiQRLXY+ASN0Zk3UK24IUpuP5lMkoIDTYkSJ3n1+vP0viPdQTNgOQdiBax5n97Y12ocnFXDTiQtHKfylR8cv8AXYEHy23g7/boL+UQbng/QmNp7f4jHVKnB1Hv+lj+WxiNrYbLIZJJwwUghgfJ22/Xz8n/AF2/r8dNnIN4+Z5+u/vwffDxVINyLXgTPpP173w2F62tDIixNzlgaUNMoYFpIWYLNGhdWAcoXRSQwUlSB48M2vqiLzFrf5H0txhYCY5vBHI9fa/1xusDqSftR3HwWYkSW7i8VmMXmGgVmjTLafnaKyfaWUlN7eNm5Qly6xyuFJf2yWjM7STqOQzOX8qvVp1KYYi6VIgGbmzRuQYn5y3Ts2em9Rymb061y9elVZNhUphgXX/+kLCDabHnFkPrv7o1bXpf05UwtmOTG691Zp5seY34LawNWnf1Gs5X5ZBap4x+OwCyOnLZgoOX/DWTdeuVlqqdWTo1g8wYqMy0okd1LbXv7k7V8adSo1fhnLtQqBqefzFBqcfzUFRq+21iqTvB3g7Uy1LbSRVZA2zwuJFbfYqQeKFfsNgCD8qQRuDv1p6Ecn0+g3PG3PofXGI1F533B7H19Z74cfF9x89iay1lzl2Cn5j+kWzOIdjvskEMbbqNz/8ARjHCQAhkfbx0FBP3QTBA2Mjfnv3PN5i+ETYQOLi54jkXtuL2O2JP9pPUL3Ixi2czL3F1HjdG4qWI5nG5a9MKN6yCFx1HFwSWLJQSssn1qVUpOtau4eOZIXarG9S6R0rNKhrZKi1ZpFPQgVySbmoyXKrdiCbk2N7S+Q631jJKUy+erpSgyrMaiqCP5A2rQxGxEERPAxPLsH6i9Id/Im0nqCOPC6/rWHtRYWa5eiqaigEX/wCe09Nfuz2SlirXNi1gBNLZoq881eewK09qDOfiPoWa6QDmaCmt0+BJpgk5djutUfeVZIVHA0jZjMEyNHPnqoalmMzUNQefw6jGar7F0YzcACUESBPGJzab0N3SrzYvLUcxT0ppOnZM1TMZNJrEzI0bRk0IkFe9bBo2JVqqzzQNO5FjIjcWkpdOvmWqBlJQAABIOkn/ALBt9oGwg7yLS2Q6N8QZqrT+y1hl8qjL/EqO2gKCPMRGqrFwBIE2JUE4lZQ1FDjaNSjiNOXszZDNNJkoo58batZOKKGJriyVTItBokIEEiyQzbCIiadiWlf1KlWoIJ0ACPKN9uAYi20e3ONKoZChlUBeoHqwA7sF81xq8thB7CbG4NjjXNktZzV2WDSubWrHYlW3NHRyeSuO6NskazPjp5kmbbaVn2ll2VjK3ONAgaQJkk7QBxO+0mdvph949MH7632ut+Yj6R+zjf4zH6tzQRE0Xn6cEMCsZF0znIbMsp47+9O8CxSgM0uyRyjgAhCN5MfehVmT9SO3pE7ev5Y58ZFkmoJJMS4ECBxO57nff3oU1Fq2WZGgawWABLAtuPP67nbY7bHbYHydyCOvpUtIiB8vTj5Gbfs/K4WZJUnldo9JmOe3vziPuYjisWJZF2QN5K/ALbsT87Dyd9iPGzD77b+OTF9wAflAn1n9cdgC1t54HPPBi/raxE4QGVpohJ5b7A/b5HzuNjsAfPkH4O+36dpVlLzuJ7/54n5GZtjwr5gRwZ3O1p9IEbDa3phv7MjJKwXk4G+4UFtvgE7L8fI+3nxsNwd/RP3hed/SBYRvueBI7mZx3YQADGwmDx8u3YY3+Cir3jJHIWSZlHEhgrK6+Q6HyvJfG4KlSBxdCCenFMmL9pH6/jtN9+1kqgBPrz7cccjeMbmxfu0UapZB3iO6WUXmjoP8bRghoywB9zg4CksWBUAjpiygEQYHqJ+g7zO/pjgKCY4J2gW9pnjv/cnPb1JpxdOVq0guz6gNu4bJEPtUEpH2BVCTSXrJtyyq9k8ocdi2r+0scguiVZ+mJq5jxSIU5cAbwSXtIsARsJksDwbYdCjT0al1CpJ2sINjuIvvaANgLmGdyl54maSJCIm/wo7OP6jkAw3A+ACB+23XTOSfSDb333PBP+5waYmItbaJ4mNu09rYRmQysdiMow/PuNgdgQB+gJHkEbAedx8bnbrjCiiLGxuYt6entzjca4ee5pDQWWerwVMXdwpthpXWw2Kyl6BYWY/3SPBVkqKiod2i23JCeGKwuYrpIknXH/0LwNzcX4kTtu4YSlN2mCClh/SbX9j+GNDr/ujl9Tds+2Xb+8ZPou38+q/pZDKX+qizdypcq8+TboceosVoV24pXdVjPBAqx/8Ax1Khns5nks2bSiGAXY0wVYkwJLQrGDczPfEvV6xXzPTMj02oSUyL1yhLG6VmVlXfdfONhAgC0jDOV57RXhCrBQdmchmCctzuANid9v2G33PnpwFYmV2BJLHaL7TyeB/bDDWI9RA73+o4vx+UrfEYdrME92zYarjaKg5PKTAlIlcMyVYSN+VuyqyGtDGrM0aSyKknAozkstEAtDMZAAME7fQHuOJEgYQKs5Ci/wCQMwST6dt784zy3pNQ5GljUWWhp6kgkxdJyQJXPBDcuIjlXtTgeNndIIVEMbTcZZ7PFJHqVNbk+nMAfy/Kewn0gwMQE0J7sRu3vttsB245w41ezkMFax2So5W3isphrEN/DZrGTPUyWKvVXSatbqWI3SxDLDJGkqlZkYOgkR0lRJFdtRp1FZKiiojLpdGAKMCLhlIgg+vzwkrMrBlJVlMhgSCCNiCLg4td9PHry7v9zsvFo7WXcu3T7gzFP4NqeS/frS6rkeMQKy3qckAOUdSoEBliN15PYjEVkBLGZ/EHwitCo2fyJqrl2k1qIDM1MbkgliTTAGwusiTGNR+HfjDxaa5DqFOia4hKFchKa1IgKjKE0rUNyTZXg7GcTC1Xrb1C1KMVqzr7O3w9kUZlu57VteFZTBKweOFM9IXJMZ9yKRUP8x90lm2pFShRp+YOWYkxIWw7jc7+gO3a15oZp6x0/Z6KELJYCLggcKP6gY9Lg4aSxqDvLelBt6qpyBQWLSrqC2yCR25RJ9TqGRTyBO5bfbmdwNz1yDR0kaW2gDy8zzHe+ww60VwysugNdrEgSPS17g3/AAgR0Jqeu5mLz6gobuzOfbwi+SfALfUXbTHcBtm3B2+TsQDyGpQF0sSszsAJM2AH77d/WGYfzCooMwfKSD7gsPlHriGOTZ3WSRTErBlUAAueTEADclWP22P/ALv8JOx6+h0Pm9x/mcfMOE9NibTqkjSrGW+QqjwxI3LfmbceR48Hf4JGx6VFPW0yNr97zfe/qfWO2PLTHI/I/lPacJy9hf5y0nLY+OS7gk7Ekqfy/Pzvy3+36Drw9Isdu9vr23tjzVJEAkHnj92wiWxCmy4lKozMxUKgCSD+Zt1G3E7gj8vjbbwfBK9MALM9j6zGw2G497R78O14BO1+x7X+d/ljRZNJKNiORXMBR1WOyo29tiTw9x/8cb8gDuCEO23hn39ZoIIPE7+l4idhuP0x6kFSCAbni/Hz4/thTtYkuVomsCP3Ag5NEQVLbeHQqfHIbE8TsCf/AG9LBgReJKgj0E3jsLnnCTA7CTB4sTxGG5zdCWKR5qpAX8zPCw2iJ+7gDdo99jyMY2HyY2YndrVUffB3FxPJ7e3I9b3OFkY8zb0m0Djn078GxhI2LcCER2Q1V2AA5ozRScdxukwHBjuNvlSPAYA7AN2kCQJI57d/X6YWu20yIg225Pf157e+vtQwSxOylJDx+fykfr4PkD7nxsN/v8jrmSPvbTaIMN77j2MmLQcC6gSL+t+/Pbt3tNjxIU6fgznpGzWS9sNNpnuhairMiRF4Y7Gn8VbkXnNLHxSV7R5+17rnYKIxy5rFuxTqdPSJD0QDyCA5BjfYxHMe+JGxyJJ3TMQD6skke0Tvz7Ygdm24V6oABHuT+RufH934A3+dxvsdvnwPnp5XNgSJJPN4JBNpBjix9e2Gg9z8v3/fCmxGFix2EXUmY9wVp5Xr4zHwFY5shZjjjkkDzOjiKCJJYJJ1iSWyIpYy5p/VUJ7KBqhdKpeoRqJgELPBn6gHe3thamjMpY2SYLHabmN5k2BPFhMxHbqZC3qwQUrLQUcRhwPo8HUVlhDyMXsW7BctNbtWpNmtWp3eWYR1qylKdOpWg6pUfEctUuTBnba4tAtF4uBN558NTSNKAAyZPJv9PmALHvfG8sUBBPXlRNgnEMVGwADb7ADfZRuSPH6jxtuXgTQpAOoHa14MyBG3eb+22EiZ3nmL7T9bemH37LdycD2w7iYDWmrtNyajw2Jpalpx1638GbK4vKZzTOXwWG1dhauoaGTweRzGisrkqeqsNi8tXipXsniK0TXcbKYr9dtnaOYrZaomXeKhCmGJEgEFkLqCyalkawDpMHTvhxlGorXRswGNOblV1kN/K2gsusBo1JqXUJEgwcTO7fdmcf6se8UnePHabyfbzs1hE0jQkt2f4Pj9V6/1JpbBYbFZzM+1p6rjcLi8vq3LUbGb1Paw8DY/DT5E4mncy+WjvZWOqdS6w/Rci2UqutbqFfWUpBmqU8rSey63YAuQLgFVBM+ULAxaOl9EXrGcWvTV6WQolBUrFBSfMVEOphSRWdUFwshmhVWTqMYtG7ghLGIjmiZkjq3UlaHdZEkkmcxe8pViUaPkUZTvuzMB/KWOX1Y0uTBYncWi52J2mfyvxjWcrpFZAthBX1PIgdhG/Y7EjDJl0MjAeNxtuP2BI23Pjb423B387k9Mv5fSRF78/vYYlSBFx697/v8AzjGHjbxJvsN9iPB/p4DfHnf7eBtt5381NG5+vPv9LY9xWtLdewzjyq7qRufO6HdSdiR/MFJ2+QPsR5+kEI1QZJECdrnn9/jj5YIMTPp9ROOU2Wk4iMr4WJCCNtzyB47g+Bt9z533+48dOAY+lrxB744APP4E3jaf3Bm+2EjkclIUI/N+ZiD5+R5B87/t48eB+3jpM1CRtzYcW9AB3+fyGOwCdv3JA/XCbW001qZm32RwF8nfcDfc+R8+d/1Ox/UdK02K6SZIIBiZ2Jjf1n5HnA9O3F4vFwdz8t/rjSZYrakmjlXkjIy8Sd9huR9tvJ3338bEDb4G3rNq4j159vQX2x4FICi19vmbf5xr8PcmhElF2MgrP7aufPKMhZI9wfIYI6hx/KWB28bdeBiOZ9PT33wEG4m87/7x2bbLIzRsN+XHyQDtuB/rsPG/z10zHykWtO8i8xaIwflhH38fGxaJifbmBCsh4yRtsSHU7EcgPjcEHyGVlYgJm8zzvj3geo+l/wDGGzE7xXruNmSIzVG2aaFPaSVBswJVSpViOLMuxAfkA5B3Kb2BYm1rRteAQe97i253wqtxPf8AfzvP1xMntVma9/0pd69O24EMeP1FiszWnepDbZbWXxkGIVEEk0LQHjVUNZjdmgWSRvYtoz1ZIfMkjNZeoDBKlSPQOdvebxHfD6mNWWrU9gtQOTyTsBHbcm/1m0C8FpyTV+odOYGN4ITbtyGRrDyiIxp7JZT7SPIC2/AlABsS38w2L7NsVXUbhPMR3sOJ/Xvhsg1uo21QPqNz+ZHywpO4OUjyWsa2JrQivgNOXF09h6KxJAq0600im3JXR50jt5GdpcjdH1Fkx2bUsEdiaGGB+kcsgBWo5LPUh2M2+7IUCBIAgCe3rZWvUJIpAaUp2iZk8sfcyY2vjSZOFMRdr3ao4FJkjkRfyiSOTbkp+3gqSBtsd9z56lAB2Eki+0E7wIsCIw37en9yf1xv78+XEImrzU1jKe4FkiYvsF5gEgMNyPynY7fcAHyW5qsWhYAHcXtAPce2PRHM/KP1w9/pe7fYTvP3c0ppjWs1waZktWLWZp4x1guXaONr2LdinXtP4rSZD6dq72ghlr13f6dllk9yNl1XO1ch06vmaQDVQAF1HygswWTAuFBkAi5ABgYcZSilbM0aTk6GddURJUwSB2kWm8Y9G0WIwulqsWmNNUIMRgMGiUMTjKdeGrUpUqyJ9PBDXr8IoxHv8qoLtvI5Z2Y9YpmqtSvXqVartUqVGLMzbkkm09hsBwLDG3dNRKWUopSRUpokBVFgEJXvuYknkkk4TWoZjPgcmrljt7Vgbk7bpNFIg4ggeEQKeXPdmdv03aOJRh6E/S/p2xIUmUVKZ031AEbbyNxHf+82wx8knFtyPv8A1GzDfbY/5fr8dMgf37HEsDPvB9pEX9r7R+WOPvALvx+TsPufHL5P/P69GPQwJgD92x//2Q==
رضا بداغی ۰۰/۰۳/۲۰ زمان موردنیاز برای مطالعه ۲۰ دقیقه

راه اندازی STM32 با آردوینو یا راه اندازی STM32 در پلتفرم آردوینو، تنها نیازمند افزودن STM32 به آردوینو است. پس از افزودن میکروکنترلرهای STM32 به Arduino IDE، کدهای برنامه را مانند آنچه برای بردهای آردوینو داریم، می نویسیم. سپس با کلیک روی آیکون آپلود، میکروکنترلر STM32 یا برد مبتنی بر میکروکنترلر STM32 را پروگرام می کنیم. امروزه بعضی شرکت ها، بردهای توسعۀ خود را منطبق بر پلتفرم آردوینو تولید می کنند. مثل شرکت NXP که برد توسعۀ LPCXpresso را منطبق بر برد Arduino UNO تولید کرده است. یا بردهای توسعۀ Nucleo-64 و Nucleo-144 ساخت شرکت ST که منطبق بر Arduino UNO هستند. همچنین بردهای توسعۀ Nucleo-32 این شرکت که منطبق بر Arduino Nano V3 هستند. میکروکنترلرهای روی بردهای Nucleo، میکروکنترلرهای STM32 یا STM8 هستند. تعداد زیادی از میکروکنترلرهای STM32 و بردهای مبتنی بر آنها، در نرم افزارهای آردوینو پشتیبانی می شوند. و با اضافه کردن بردهای STM32 به نرم افزار Arduino IDE، می توان در پلتفرم آردوینو برای آنها برنامه نوشت. در این نوشته ابتدا روش افزودن بردهای STM32 به Arduino IDE را توضیح می دهیم. سپس یک برنامۀ سادۀ LED چشمک زن برای برد Nucleo-F103RB می نویسیم. در ادامه یک بوت لودر USB را معرفی می کنیم که می توانیم آن را برای برنامه ریزی میکروکنترلرهای STM32 به کار ببریم. بوت لودر USB را روی برد Blue pill می ریزیم. و برنامه ای را که برای برد Blue pill نوشته ایم با بوت لودر USB، روی آن آپلود و نتیجه را مشاهده می کنیم. این برنامه ها که آنها را در نرم افزار Arduino IDE نوشته ایم، در پیوست قرار دارند. همچنین بوت لودر USB که معرفی می کنیم، برای میکروکنترلرهای سری F103 و F407 و شامل چند فایل است. این فایل ها را نیز در پیوست قرار داده ایم.

نکته: از ورژن آخر Arduino IDE استفاده کنید.

راه-اندازی-nucleo-f103rb-آردوینو

تصویر 1 – راه اندازی STM32 در آردوینو

 

افزودن میکروکنترلرهای STM32 به آردوینو

برای راه اندازی STM32 با آردوینو، باید ابتدا آنها را به نرم افزار Arduino IDE اضافه کنیم. برای اضافه کردن STM32 به آردوینو، در نرم افزار Arduino IDE از منوی File روی Preferences کلیک می کنیم. در پنجرۀ Preferences در قسمت Additional Board Manager URLs، لینک زیر را قرار می دهیم. سپس روی OK کلیک می کنیم (1).

https://github.com/stm32duino/BoardManagerFiles/raw/master/package_stmicroelectronics_index.json

 

در این هنگام باید اتصال به اینترنت برقرار باشد. در ادامه از منوی Tools از قسمت Board روی Boards Manager کلیک می کنیم (2). در پنجرۀ باز شده، STM32 را جست و جو می کنیم. ممکن است در جست و جوی STM32 در Boards Manager، در ابتدای نام نتیجۀ یافت شده، کلمۀ Deprecated قرار گرفته باشد. که این به معنی منسوخ بودن آن است. برای رفع این مشکل باید در پنجرۀ Preferences لینک جدید را قرار داد. لینک جدید در سایت گیت هاب در صفحۀ مربوط به بردهای STM32 در آردوینو موجود است. این لینک (با پسوند json) در بخش توضیحات صفحۀ STM32duino/Arduino_Core_STM32 آورده شده است.

افزودن-آردوینو

تصویر 2 – افزودن میکروکنترلرها و بردهای STM32 به Arduino IDE

 

آنچه را که مربوط به STMicroelectronics است، نصب می کنیم (3). صبر می کنیم تا دانلود و نصب به اتمام برسد (4). در نهایت روی Close کلیک می کنیم (5).

پس از نصب شدن بردها و میکروکنترلرهای STM32 در Arduino IDE، می توان آنها را از بخش Boards در منوی Tools انتخاب کرد. همان طور که در تصویر زیر مشخص است، بردها به دو دسته تقسیم شده اند. یک دسته مربوط به بردهای آردوینوی مبتنی بر میکروکنترلرهای AVR و دستۀ دیگر مربوط به بردهای STM32 است. برای انتخاب برد Nucleo-F103RB باید در اینجا Nucleo-64 را انتخاب کنیم. همچنین برای انتخاب برد Blue pill باید Generic STM32F1 series را انتخاب کنیم. در ادامه، برنامه نویسی میکروکنترلرهای STM32 با Arduino IDE را بررسی می کنیم.

بردهای-st-آردوینو

تصویر 3 – بردهای STM32 در Arduino IDE

 

راه اندازی STM32 با آردوینو

در این بخش برای ذکر مثالی از راه اندازی STM32 در آردوینو، برنامه ای ساده برای برد Nucleo-F103RB می نویسیم. ابتدا از منوی Tools و از بخش Board، روی Nucleo-64 کلیک می کنیم. سپس در همین منو از بخش Board part number، بردهای Nucleo-64 را می بینیم که ما برد Nucleo-F103RB را انتخاب می کنیم. برد را از طریق رابط USB به کامپیوتر متصل می کنیم. سپس در قسمت Port، پورت COM اختصاص داده شده به برد را تیک می زنیم. تنظیمات دیگر می توانند در حالت پیش فرض و به این صورت باشند:

  • • بخش USART support: روی Enabled (generic "Serial")؛
  • • بخش USB support: روی None؛
  • • بخش USB speed: روی Low/Full Speed؛
  • • بخش Optimize: روی Smallest (-Os default)؛
  • • بخش C Runtime Library: روی Newlib Nano (default)؛
  • • بخش Upload method: روی Mass Storage؛

تنظیمات-nucleo-f103rb-آردوینو

تصویر 4 – تنظیمات مربوط به برنامه نویسی برد Nucleo-F103RB در آردوینو

 

برنامه نویسی STM32 با آردوینو در برخی موارد، تفاوت هایی با برنامه نویسی بردهای آردوینوی مبتنی بر AVR دارد. دلیل این تفاوت ها، واحدهای داخلی میکروکنترلرهای STM32 است که نسبت به واحدهای داخلی AVR ویژگی های پیشرفته تری دارند. برای مثال تعداد مدهای GPIO در STM32 نسبت به مدهای پورت IO در AVR بیشتر است. یا این که وقفه خارجی در STM32 می تواند با سطح High روی پایۀ ورودی هم اتفاق بیفتد. در حالی که وقفه خارجی در AVR با سطح High سیگنال نمی تواند اتفاق بیفتد. برنامه ای که ما نوشته ایم به صورت زیر است. در تابع setup پایۀ متصل به LED روی برد و همچنین پایۀ PC0 را خروجی می کنیم. در تابع loop نیز وضعیت این پایه ها را با تأخیر 1000 میلی ثانیه، تغییر می دهیم.

void setup() {
       // put your setup code here, to run once:

       pinMode(LED_BUILTIN, OUTPUT);
       pinMode(PC0, OUTPUT);
}

void loop() {
       // put your main code here, to run repeatedly:

       delay(1000);
       digitalWrite(LED_BUILTIN, HIGH);
       digitalWrite(PC0, LOW);

       delay(1000);
       digitalWrite(LED_BUILTIN, LOW);
       digitalWrite(PC0, HIGH);
}

 

برای پروگرام کردن میکروکنترلر روی برد Nucleo-F103RB، روی آیکون آپلود کلیک می کنیم. نتیجۀ برنامه ای که نوشته ایم، در تصویر زیر آمده است. یک LED هم به پایۀ PC0 متصل کرده ایم.

نتیجه-راه-اندازی-nucleo-f103rb

تصویر 5 – نتیجۀ راه اندازی STM32 با آردوینو، چشمک زدن LED

 

راه اندازی Blue pill در آردوینو

برای راه اندازی STM32 با آردوینو می توان از برد Blue pill استفاده کرد. برد توسعۀ Blue pill یکی از بردهای ساده و ارزان قیمتی است که میکروکنترلر آن، STM32F103C8 یا STM32F103CB است. تفاوت STM32F103CB با STM32F103C8 در ظرفیت حافظۀ Flash آنهاست. ظرفیت حافظۀ Flash این میکروکنترلرها به ترتیب 128 و 64 کیلوبایت است. روی این بردها یک کانکتور Micro USB وجود دارد که به واحد USB میکروکنترلر متصل است. در حالت عادی برای برنامه ریزی این برد نمی توان از این کانکتور Micro USB استفاده کرد. روش های برنامه ریزی این برد در حالت عادی، سه روش SWD و JTAG و بوت لودر UART هستند. که دو روش اول نیازمند پروگرامر خارجی و روش سوم نیازمند مبدل سطح منطقی یا مبدل USB به سریال است. اما با روشی می توانیم از طریق کانکتور Micro USB و استفاده از یک کابل USB آن را پروگرام کنیم. برای این کار کافی است یک بوت لودر USB برای Blue pill داشته باشیم. برد Blue pill را پروگرام می کنیم و بوت لودر USB را روی آن می ریزیم. در این صورت می توان میکروکنترلر برد Blue pill را با کابل USB برنامه ریزی کرد. یکی از بوت لودرهایی که برای این کار استفاده می شود، بوت لودر STM32 HID است. این بوت لودر را در پیوست قرار داده ایم. همچنین نسخۀ آخر آن را می توان از اینجا دانلود کرد. تعدادی  بوت لودر در فایل دانلودی وجود دارد. بوت لودر USB برای برد Blue pillی که LED آن به پایۀ PC13 متصل است، فایل hid generic pc13 در پوشۀ F103 و پوشۀ low and medium density است.

بوت-لودر-usb-hid

تصویر 6 – بوت لودر USB بلو پیل

 

راه اندازی STM32 با آردوینو از طریق بوت لودر USB

برای راه اندازی STM32 با آردوینو، هم می توان با بوت لودر سریال عملیات برنامه ریزی را انجام داد و هم از طریق SWD و JTAG و استفاده از پروگرامر خارجی. پیشتر دیدیم که برد Nucleo-F103RB را بدون انجام کار خاصی با Arduino IDE پروگرام کردیم. پروگرامر روی این برد، ST-Link است. و ما با کلیک روی آیکون آپلود، این برد را با پروگرامر خودش برنامه ریزی کردیم. اما برد Blue pill پروگرامر ندارد. می توان آن را با پروگرامر خارجی (مثل پروگرامر J-Link) با رابط های SWD یا JTAG برنامه ریزی کرد. یا آن را با مبدل USB به سریال، به کامپیوتر متصل و از طریق بوت لودر UART برنامه ریزی کرد. با یکی از روش های مذکور که آنها را در نوشتۀ «پروگرام کردن STM32 با JTAG و SWD و بوت لودر» تشریح کرده ایم، بوت لودر STM32 HID را روی برد Blue pill می ریزیم. در صورتی که پروگرامر داریم، SWD روش ساده تری است. که می توانیم با نرم افزار ST-Link Utility یا STM32CubeProgrammer، بوت لودر را به حافظۀ Flash میکروکنترلر منتقل کنیم. اما اگر پروگرامر نداریم، می توانیم از مبدل USB به سریال استفاده کنیم. در این روش می توان از نرم افزار Flasher-STM32 یا نرم افزار STM32CubeProgrammer استفاده کرد. (به نوشتۀ پروگرام کردن STM32 مراجعه شود.)

نکته: پس از انتقال بوت لودر به میکروکنترلر STM32، به ترتیب تغذیه را قطع، اتصالات مبدل USB به سریال را جدا می کنیم و پایه های BOOT را به حالت اولیه برمی گردانیم.

حال برد Blue pill را با کابل USB به کامپیوتر وصل می کنیم. در نرم افزار Arduino IDE آن را انتخاب می کنیم و تنظیمات را مطابق تصویر زیر انجام می دهیم. بعد از آن هر بار که روی آیکون آپلود کلیک کنیم، برد Blue pill از طریق رابط USB برنامه ریزی می شود.

تنظیمات-آردوینو-بوت-لودر-usb

تصویر 7 – تنظیمات منوی Tools برای بوت لودر USB برد Blue pill و نتیجۀ آپلود یک برنامه روی آن

 

نتایج راه اندازی STM32 با آردوینو

  • 1- برای راه اندازی STM32 در آردوینو، گام اول اضافه کردن بردها و میکروکنترلرهای STM32 به نرم افزار آردوینو است.
  • 2- بعضی شرکت ها بردهای توسعۀ خود را منطبق بر بردهای آردوینو می سازند. همچنین برخی بردهای توسعۀ منطبق بر بردهای آردوینو، در نرم افزار آردوینو پشتیبانی می شوند. مثل تعداد زیادی از بردهای STM32.
  • 3- برای افزودن میکروکنترلرها و بردهای STM32 به آردوینو باید یک URL جدید در پنجرۀ Preferences قرار داد. سپس در Boards Manager کلمۀ STM32 را سرچ و در نتیجۀ یافت شده روی Install کلیک کرد. پس از مدتی STM32 به آردوینو اضافه می شود. دقت شود که ارتباط اینترنتی باید برقرار باشد.
  • 4- برای راه اندازی STM32 با Arduino IDE کافی است برد مورد نظر را در قسمت Board منوی Tools انتخاب و سپس تنظیمات آن را تعیین کرد.
  • 5- برنامه نویسی STM32 در Arduino IDE تا حدود زیادی شبیه برنامه نویسی برای بردهای آردوینو است.
  • 6- برای برنامه ریزی برد Blue pill در حالت عادی سه روش وجود دارد: روش JTAG و SWD و بوت لودر UART. بنابراین نمی توان آن را با استفاده از کانکتور Micro USB پروگرام کرد. مگر این که بوت لودر USB روی آن پروگرام شود.
  • 7- می توان بوت لودر USB را با یکی از سه روش JTAG یا SWD یا بوت لودر UART با پروگرامر یا مبدل USB به سریال، روی میکروکنترلرهای STM32 سری F1 پروگرام کرد. بعد از آن می توان میکروکنترلر را از طریق رابط USB نیز پروگرام کرد.

 

data:image/jpeg;base64,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
رضا بداغی
کارشناس الکترونیک هواپیمایی، نویسنده و مدیر محتوای یوبرد، طراح و برنامه نویس سیستم های مبتنی بر میکروکنترلر
اگر دیدگاهی دارید میتوانید از طریق فرم زیر دیدگاه خود را در سایت درج کنید.
نویسنده: مجتبی تاریخ: ۴ تیر ۱۴۰۰ ساعت: ۰۴:۰۸:۳۱ ب.ظ

سلام. من برنامه نویسی آردواینو بلدم و چند تا پروژه انجام دادم. قصد دارم stm32 یاد بگیرم و سوالم اینه که الان که stm32 با آردواینو راه اندازی میشه باز نیازی هست که برم برای یادگیری stm32؟

نویسنده: رضا بداغی تاریخ: ۶ تیر ۱۴۰۰ ساعت: ۰۸:۳۷:۴۵ ق.ظ

سلام. اگه بخواید STM32 یاد بگیرید که تا حدود زیادی با اون چیزی که توی آردوینو هست متفاوته. پلتفرم آردوینو یکی از اهدافش "تسهیل روند پیاده سازی پروژه های الکترونیکی دیجیتال برای افراد کم آشنا و ناآشنا با دنیای میکروکنترلرها" است. و توی آردوینو چه برای میکروکنترلرهای AVR و چه برای میکروکنترلرهای STM32، راه اندازی واحدهای داخلی به شکل ساده ای هست که کار ما رو راه بندازه. اما اگه بیرون از پلتفرم آردوینو و با کدنویسی به صورت دستی یا استفاده از کتابخونه های آماده بخواید همون واحد داخلی رو راه اندازی کنید، میتونید به همۀ قابلیت های اون واحد داخلی دسترسی داشته باشید. البته خب کار سخت ترهست. هم باید تئوری اون واحد داخلی رو خوب یاد بگیرید و هم کدنویسی رو به صورت صحیح انجام بدید. پس با پلتفرم آردوینو نمیتونیم از همۀ قابلیت های بعضی واحدهای داخلی استفاده کنیم. موارد دیگه ای وجود داره که توی بخش «معایب آردوینو» و «کاربرد آردوینو در صنعت، پروژه های پیچیده و محدودیت های آردوینو» نوشتۀ آردوینو میتونید مطالعه کنید.

به هر حال میشه گفت که استفاده از پلتفرم آردوینوبرای راه اندازی STM32، دسترسی محدود به امکانات این میکروکنترلرها رو فراهم میکنه و این دسترسی هم از طریق اجرای توابع سطح بالاست. انجام پروژه های حرفه ای با میکروکنترلرها توی خیلی موارد، لازمه ش نوشتن توابع و دستورات در سطح رجیسترها و توابع سطح پایین یا توابعیه که حداقل امکان استفاده از همۀ قابلیت های میکروکنترلر رو فراهم کنه.

مورد دیگه این که زمانی که میخواید یه واحد داخلی میکروکنترلر رو راه اندازی کنید، اگه با پلتفرم آردوینو این کار رو انجام بدید، نیازی نیست خیلی وارد جزئیات بشید که اون واحد داخلی دقیقاً چی کار میکنه و به چه روشی کار میکنه. اما بدون استفاده از آردوینو، تا حد زیادی باید عملکرد اون واحد داخلی رو بشناسید و این شناخت در نهایت باعث میشه اون واحد داخلی رو به صورت بهینه به کار بگیرید و پروژه رو حرفه ای تر کنید.

نویسنده: محسن تاریخ: ۲۴ خرداد ۱۴۰۰ ساعت: ۱۱:۰۲:۲۲ ب.ظ
خیلی ممنون از مطالب آموزشیتون من تلاش کردم بوت لودر usb رو بریزم رو برد بلوپیل اما نمیشه. نرم افزار flasher هنگ میکنه و مجبور میشم ببندمش ممنون میشم راهنمایی کنید
نویسنده: رضا بداغی تاریخ: ۲۸ خرداد ۱۴۰۰ ساعت: ۱۱:۵۷:۲۱ ق.ظ

سلام. خواهش میکنم. این مشکل به خاطر ارتباط ناصحیح بین کامپیوتر و میکروکنترلر به وجود میاد. یا پورت COM اشتباه رو توی Flasher انتخاب می کنید. یا باود ریت خیلی کم یا خیلی زیاده. یا مبدل USB به سریال (یا مبدل سطح ولتاژ)ی که استفاده میکنید مشکل داره. یا TX و RX رو اشتباه متصل می کنید. و یا جامپرهای Boot0 و Boot1 رو اشتباه وصل می کنید. و دقت داشته باشید که باید از USART1 میکروکنترلر استفاده کنید. که پایه هاش میشه پایه های PA9 و PA10. نوشتۀ پروگرام کردن STM32 توی وبلاگ هست. اون رو مطالعه کنید. بخش بوت لودرش. هم اتصالات توضیح داده شدن و هم روش کار با نرم افزار Flasher. موفق باشید

فرم پاسخ به دیدگاه