سلام
من اینتراپت ارسال رو راه انداختم.ولی الان با اینتراپت دریافت مشکل دارم.همین که (interupt enableregister)ier رو یک میکنم بدون اینکه داده ای دریافت بشه وارد حلقه ی اینتراپت میشه و در نمیاد.
کسی می دونه باید چه کار کنم؟
مشکل از keil نیست؟
سلام
من اینتراپت ارسال رو راه انداختم.ولی الان با اینتراپت دریافت مشکل دارم.همین که (interupt enableregister)ier رو یک میکنم بدون اینکه داده ای دریافت بشه وارد حلقه ی اینتراپت میشه و در نمیاد.
کسی می دونه باید چه کار کنم؟
مشکل از keil نیست؟
لطفا کمکم کنید.کارم خیلی لنگه.
سلام
برنامه ای که نوشتید رو بزارید .
ببخشید.یه مدت نبودم.
مشکلم حل شد.برنامم رو میذارم.
سلام
آقا مشکل اینه که شما باید تو روال وقفه دیتا رو بخونید تا اتوماتیک فلگ اینتراپت صفر بشه یا با تابع USART_ClearITPendingBit(USARTx, USART_IT_RXNE) فلگ رو صفر کنید
void USART1_IRQHandler(void)
{
//
USART_ClearITPendingBit(USART1, USART_IT_RXNE);
}
به این لینک هم سری بزنید بد نیست:microcontroller - Clearing USART (UART) interrupt flags in an STM32? - Electrical Engineering Stack Exchange
USART_IT_RXNE - "Receive Data register not empty"
- It is cleared automatically when calling USART_ReceiveData(USARTx)
- It can be cleared manually by calling USART_ClearITPendingBit(USARTx, USART_IT_RXNE)
ویرایش توسط hamid_56 : 21-05-2016 در ساعت 07:36