سلام
وقت تون بخیر
من قسمت ۱۱ دوره آموزشی ARM رو دارم میبینم. مبحث USART با استفاده از CMSIS
با استفاده از بورد STM32F407 Discovery
کد رو مثل شما نوشتم ولی کاراکتری که ارسال میشه درست نیست. من فکر میکنم به خاطر کریستالی که روی بورد من و شما هست باشه. یعنی مقداری که توی رجیستر BRR ریخته میشه
خب همون قسمت 11 دقیقه 50 تا حدودا 60 برای تنظیم باد ریت توضیح دادم که البته دقیقه 55 در مورد همین رابطه فرکانس کاری میکرو و فرکانس باس APB توضیح میدم . با این تفاسیر شما کلاک باست چه مقداری هست و چه مقداری داری به UART میدی ؟
یعنی عددی که حساب میکنی برحسب فرکانس APB که بریزی داخل BRR چه مقدار هست ؟
البته مورد بالا با احتمالی هست که خودتون میدید وگرنه جوره دیگه ای باید بررسی بشه برای شما که دیسکاوری دارید . مثلا اول یک برنامه مطمئن از سمپل های خود St روش بریزید و ببینید خروجی همون چیزی هست که باید باشه یا مثل الان مشکل دار هست . بعد از اون اگر مشکل دار بود به سخت افزار و اتصال سیم و زمین مدار شک کنید بعد از اون به میکرو و پایه ها و کریستال .
فعلا دو موردی که گفتم بررسی کنید تا بقیش انشاءالله . البته راه های عیب یابی داخل بعضی از قسمت های آموزش میگم ولی شما هنوز بهشون نرسیدید .
<p style=”text-align: right;”>شایدم کریستال خارجی تون با اون مقدار دیفالتی که دیفاین شده یکی نیست.مثلا کریستال خارجیتون ۸مگاهرتز هست ولی توی هدر سیمسیس دیفاین شده 25 مگاهتز</p>
کلاک داخل قسمت 33 کامل توضیحش دادم . اما شما نیاز به تغییر کلاک نداری کلاک APB بدست بیاری و مقدار BRR طبق چیزی که تو همین قسمت یوزارت میگم با مقدار صحیح جایگزین کن .