专家
公告
财富商城
电子网
旗下网站
首页
问题库
专栏
标签库
话题
专家
NEW
门户
发布
提问题
发文章
STM32
AS608用串口2可以 改成串口5后连不上 自己焊的板子
2019-07-20 23:50
发布
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
站内问答
/
STM32/STM8
2137
7
1479
错误信息显示 模块返回确认码有误
友情提示:
此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
7条回答
什么都不会
2019-07-21 10:10
[mw_shl_code=c,true]#include "timer.h"
#include "led.h"
//////////////////////////////////////////////////////////////////////////////////
//±¾3ìDòÖ»1©Ñ§Ï°ê1óã¬Î′¾-×÷ÕßDí¿é£¬2»μÃóÃóúÆäËüèÎoÎóÃí¾
//ALIENTEK STM32F103¿a·¢°å
//¶¨ê±Æ÷ Çy¶ˉ′úÂë
//ÕyμãÔ-×ó@ALIENTEK
//¼¼êõÂÛì3:
www.openedv.com
//′′½¨èÕÆú:2015/1/10
//°æ±¾£oV1.2
//°æè¨ËùóD£¬μá°æ±Ø¾¿¡£
//Copyright(C) 1ãÖYêDDÇòíμç×ó¿Æ¼¼óDÏT1«Ë¾ 2009-2019
//All rights reserved
//********************************************************************************
//V1.1 20150110
//1,Ôö¼óTIM3_PWM_Initoˉêy¡£
//2,Ôö¼óLED0_PWM_VALo궨ò壬¿ØÖÆTIM3_CH2Âö¿í
//V1.2 20150110
//1,DÂÔöTIM5_Cap_Initoˉêy
//2,DÂÔöTIM5_IRQHandlerÖD¶Ï·tÎñoˉêy
//V1.3 20150411
//1,Ôö¼óTIM7_Int_Initoˉêy¡£
//2,Ôö¼óTIM7_IRQHandleroˉêy
//////////////////////////////////////////////////////////////////////////////////
//¶¨ê±Æ÷3ÖD¶Ï·tÎñ3ìDò
void TIM3_IRQHandler(void)
{
if(TIM3->SR&0X0001)//òç3öÖD¶Ï
{
LED1=!LED1;
}
TIM3->SR&=~(1<<0);//Çå3yÖD¶Ï±ê־λ
}
//í¨óö¨ê±Æ÷3ÖD¶Ï3õê¼»ˉ
//Õaàïê±ÖóÑ¡ÔñÎaAPB1μÄ2±¶£¬¶øAPB1Îa36M
//arr£o×Ô¶ˉÖØ×°Öμ¡£
//psc£oê±ÖóÔ¤·ÖÆμêy
//Õaàïê1óÃμÄêǶ¨ê±Æ÷3!
void TIM3_Int_Init(u16 arr,u16 psc)
{
RCC->APB1ENR|=1<<1; //TIM3ê±Öóê1Äü
TIM3->ARR=arr; //é趨¼ÆêyÆ÷×Ô¶ˉÖØ×°Öμ//¸ÕoÃ1ms
TIM3->PSC=psc; //Ô¤·ÖÆμÆ÷7200,μÃμ½10KhzμļÆêyê±Öó
TIM3->DIER|=1<<0; //ÔêDí¸üDÂÖD¶Ï
TIM3->CR1|=0x01; //ê1Äü¶¨ê±Æ÷3
MY_NVIC_Init(1,3,TIM3_IRQn,2);//ÇàÕ¼1£¬×óóÅÏ輶3£¬×é2
}
//TIM3 PWM2¿·Ö3õê¼»ˉ
//PWMêä3ö3õê¼»ˉ
//arr£o×Ô¶ˉÖØ×°Öμ
//psc£oê±ÖóÔ¤·ÖÆμêy
void TIM3_PWM_Init(u16 arr,u16 psc)
{
//′Ë2¿·ÖDèêÖ¶ˉDT¸ÄIO¿úéèÖÃ
RCC->APB1ENR|=1<<1; //TIM3ê±Öóê1Äü
RCC->APB2ENR|=1<<3; //ê1ÄüPORTBê±Öó
GPIOB->CRL&=0XFF0FFFFF; //PB5êä3ö
GPIOB->CRL|=0X00B00000; //¸′óÃ1|Äüêä3ö
RCC->APB2ENR|=1<<0; //¿aÆô¸¨Öúê±Öó
AFIO->MAPR&=0XFFFFF3FF; //Çå3yMAPRμÄ[11:10]
AFIO->MAPR|=1<<11; //2¿·ÖÖØó3Ïñ,TIM3_CH2->PB5
TIM3->ARR=arr; //é趨¼ÆêyÆ÷×Ô¶ˉÖØ×°Öμ
TIM3->PSC=psc; //Ô¤·ÖÆμÆ÷2»·ÖÆμ
TIM3->CCMR1|=7<<12; //CH2 PWM2Ä£ê½
TIM3->CCMR1|=1<<11; //CH2ԤװÔØê1Äü
TIM3->CCER|=1<<4; //OC2 êä3öê1Äü
TIM3->CR1=0x0080; //ARPEê1Äü
TIM3->CR1|=0x01; //ê1Äü¶¨ê±Æ÷3
}
//¶¨ê±Æ÷5í¨μà1êäèë2¶»ñÅäÖÃ
//arr£o×Ô¶ˉÖØ×°Öμ
//psc£oê±ÖóÔ¤·ÖÆμêy
void TIM5_Cap_Init(u16 arr,u16 psc)
{
RCC->APB1ENR|=1<<3; //TIM5 ê±Öóê1Äü
RCC->APB2ENR|=1<<2; //ê1ÄüPORTAê±Öó
GPIOA->CRL&=0XFFFFFFF0; //PA0 Çå3y֮ǰéèÖÃ
GPIOA->CRL|=0X00000008; //PA0 êäèë
GPIOA->ODR|=0<<0; //PA0 ÏÂà-
TIM5->ARR=arr; //é趨¼ÆêyÆ÷×Ô¶ˉÖØ×°Öμ
TIM5->PSC=psc; //Ô¤·ÖÆμÆ÷
TIM5->CCMR1|=1<<0; //CC1S=01 Ñ¡Ôñêäèë¶Ë IC1ó3éäμ½TI1éÏ
TIM5->CCMR1|=0<<4; //IC1F=0000 ÅäÖÃêäèëÂË2¨Æ÷ 2»ÂË2¨
TIM5->CCMR1|=0<<10; //IC2PS=00 ÅäÖÃêäèë·ÖÆμ,2»·ÖÆμ
TIM5->CCER|=0<<1; //CC1P=0 éÏéyÑØ2¶»ñ
TIM5->CCER|=1<<0; //CC1E=1 ÔêDí2¶»ñ¼ÆêyÆ÷μÄÖμμ½2¶»ñ¼Ä′æÆ÷ÖD
TIM5->DIER|=1<<1; //ÔêDí2¶»ñÖD¶Ï
TIM5->DIER|=1<<0; //ÔêDí¸üDÂÖD¶Ï
TIM5->CR1|=0x01; //ê1Äü¶¨ê±Æ÷2
MY_NVIC_Init(2,0,TIM5_IRQn,2);//ÇàÕ¼2£¬×óóÅÏ輶0£¬×é2
}
//2¶»ñ×′ì¬
//[7]:0,ûóD3é1|μÄ2¶»ñ;1,3é1|2¶»ñμ½ò»′Î.
//[6]:0,»1û2¶»ñμ½¸ßμçƽ;1,òѾ-2¶»ñμ½¸ßμçƽáË.
//[5:0]:2¶»ñ¸ßμçƽoóòç3öμÄ′Îêy
u8 TIM5CH1_CAPTURE_STA=0; //êäèë2¶»ñ×′ì¬
u16 TIM5CH1_CAPTURE_VAL; //êäèë2¶»ñÖμ
//¶¨ê±Æ÷5ÖD¶Ï·tÎñ3ìDò
void TIM5_IRQHandler(void)
{
u16 tsr;
tsr=TIM5->SR;
if((TIM5CH1_CAPTURE_STA&0X80)==0)//»1Î′3é1|2¶»ñ
{
if(tsr&0X01)//òç3ö
{
if(TIM5CH1_CAPTURE_STA&0X40)//òѾ-2¶»ñμ½¸ßμçƽáË
{
if((TIM5CH1_CAPTURE_STA&0X3F)==0X3F)//¸ßμçƽì«3¤áË
{
TIM5CH1_CAPTURE_STA|=0X80;//±ê¼Ç3é1|2¶»ñáËò»′Î
TIM5CH1_CAPTURE_VAL=0XFFFF;
}else TIM5CH1_CAPTURE_STA++;
}
}
if(tsr&0x02)//2¶»ñ1·¢éú2¶»ñê¼t
{
if(TIM5CH1_CAPTURE_STA&0X40) //2¶»ñμ½ò»¸öϽμÑØ
{
TIM5CH1_CAPTURE_STA|=0X80; //±ê¼Ç3é1|2¶»ñμ½ò»′θßμçƽÂö¿í
TIM5CH1_CAPTURE_VAL=TIM5->CCR1; //»ñè¡μ±Ç°μÄ2¶»ñÖμ.
TIM5->CCER&=~(1<<1); //CC1P=0 éèÖÃÎaéÏéyÑØ2¶»ñ
}else //»1Î′¿aê¼,μúò»′Î2¶»ñéÏéyÑØ
{
TIM5CH1_CAPTURE_STA=0; //Çå¿Õ
TIM5CH1_CAPTURE_VAL=0;
TIM5CH1_CAPTURE_STA|=0X40; //±ê¼Ç2¶»ñμ½áËéÏéyÑØ
TIM5->CNT=0; //¼ÆêyÆ÷Çå¿Õ
TIM5->CCER|=1<<1; //CC1P=1 éèÖÃÎaϽμÑØ2¶»ñ
}
}
}
TIM5->SR=0;//Çå3yÖD¶Ï±ê־λ
}
extern vu16 UART5_RX_STA;
//¶¨ê±Æ÷7ÖD¶Ï·tÎñ3ìDò
void TIM7_IRQHandler(void)
{
if(TIM7->SR&0X01)//êǸüDÂÖD¶Ï
{
UART5_RX_STA|=1<<15; //±ê¼Ç½óêÕíê3é
TIM7->SR&=~(1<<0); //Çå3yÖD¶Ï±ê־λ
TIM7->CR1&=~(1<<0); //1رն¨ê±Æ÷7
}
}
//»ù±¾¶¨ê±Æ÷7ÖD¶Ï3õê¼»ˉ
//Õaàïê±ÖóÑ¡ÔñÎaAPB1μÄ2±¶£¬¶øAPB1Îa36M
//arr£o×Ô¶ˉÖØ×°Öμ¡£
//psc£oê±ÖóÔ¤·ÖÆμêy
//Õaàïê1óÃμÄêǶ¨ê±Æ÷7!
void TIM7_Int_Init(u16 arr,u16 psc)
{
RCC->APB1ENR|=1<<5;//TIM7ê±Öóê1Äü
TIM7->ARR=arr; //é趨¼ÆêyÆ÷×Ô¶ˉÖØ×°Öμ//¸ÕoÃ1ms
TIM7->PSC=psc; //Ô¤·ÖÆμÆ÷
TIM7->DIER|=1<<0; //ÔêDí¸üDÂÖD¶Ï
TIM7->CR1|=0x01; //ê1Äü¶¨ê±Æ÷7
MY_NVIC_Init(0,1,TIM7_IRQn,2);//ÇàÕ¼0£¬×óóÅÏ輶1£¬×é2
}
[/mw_shl_code]
加载中...
查看其它7个回答
一周热门
更多
>
相关问题
STM32F4上I2C(在PROTEUS中模拟)调试不通的问题
6 个回答
芯片供应紧张,准备换个MCU,MM32L系列替换STM32L系列的怎么样?
7 个回答
STM32同时使用两个串口进行数据收发时数据丢包的问题
5 个回答
STM32F103串口通信死机问题
4 个回答
STM32WLE5CC连接SX1268在LoRa模式下能与 SX1278互通吗?
2 个回答
相关文章
ST公司第一款无线低功耗单片机模块有效提高物联网设计生产效率
0个评论
如何实现对单片机寄存器的访问
0个评论
通过USB用STM32片内自带Bootloader下载程序及注意事项
0个评论
欲练此功必先自宫之STM32汇编启动,放慢是为了更好的前行
0个评论
×
关闭
采纳回答
向帮助了您的知道网友说句感谢的话吧!
非常感谢!
确 认
×
关闭
编辑标签
最多设置5个标签!
STM32
保存
关闭
×
关闭
举报内容
检举类型
检举内容
检举用户
检举原因
广告推广
恶意灌水
回答内容与提问无关
抄袭答案
其他
检举说明(必填)
提交
关闭
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
×
付费偷看金额在0.1-10元之间
确定
×
关闭
您已邀请
0
人回答
查看邀请
擅长该话题的人
回答过该话题的人
我关注的人
#include "led.h"
//////////////////////////////////////////////////////////////////////////////////
//±¾3ìDòÖ»1©Ñ§Ï°ê1óã¬Î′¾-×÷ÕßDí¿é£¬2»μÃóÃóúÆäËüèÎoÎóÃí¾
//ALIENTEK STM32F103¿a·¢°å
//¶¨ê±Æ÷ Çy¶ˉ′úÂë
//ÕyμãÔ-×ó@ALIENTEK
//¼¼êõÂÛì3:www.openedv.com
//′′½¨èÕÆú:2015/1/10
//°æ±¾£oV1.2
//°æè¨ËùóD£¬μá°æ±Ø¾¿¡£
//Copyright(C) 1ãÖYêDDÇòíμç×ó¿Æ¼¼óDÏT1«Ë¾ 2009-2019
//All rights reserved
//********************************************************************************
//V1.1 20150110
//1,Ôö¼óTIM3_PWM_Initoˉêy¡£
//2,Ôö¼óLED0_PWM_VALo궨ò壬¿ØÖÆTIM3_CH2Âö¿í
//V1.2 20150110
//1,DÂÔöTIM5_Cap_Initoˉêy
//2,DÂÔöTIM5_IRQHandlerÖD¶Ï·tÎñoˉêy
//V1.3 20150411
//1,Ôö¼óTIM7_Int_Initoˉêy¡£
//2,Ôö¼óTIM7_IRQHandleroˉêy
//////////////////////////////////////////////////////////////////////////////////
//¶¨ê±Æ÷3ÖD¶Ï·tÎñ3ìDò
void TIM3_IRQHandler(void)
{
if(TIM3->SR&0X0001)//òç3öÖD¶Ï
{
LED1=!LED1;
}
TIM3->SR&=~(1<<0);//Çå3yÖD¶Ï±ê־λ
}
//í¨óö¨ê±Æ÷3ÖD¶Ï3õê¼»ˉ
//Õaàïê±ÖóÑ¡ÔñÎaAPB1μÄ2±¶£¬¶øAPB1Îa36M
//arr£o×Ô¶ˉÖØ×°Öμ¡£
//psc£oê±ÖóÔ¤·ÖÆμêy
//Õaàïê1óÃμÄêǶ¨ê±Æ÷3!
void TIM3_Int_Init(u16 arr,u16 psc)
{
RCC->APB1ENR|=1<<1; //TIM3ê±Öóê1Äü
TIM3->ARR=arr; //é趨¼ÆêyÆ÷×Ô¶ˉÖØ×°Öμ//¸ÕoÃ1ms
TIM3->PSC=psc; //Ô¤·ÖÆμÆ÷7200,μÃμ½10KhzμļÆêyê±Öó
TIM3->DIER|=1<<0; //ÔêDí¸üDÂÖD¶Ï
TIM3->CR1|=0x01; //ê1Äü¶¨ê±Æ÷3
MY_NVIC_Init(1,3,TIM3_IRQn,2);//ÇàÕ¼1£¬×óóÅÏ輶3£¬×é2
}
//TIM3 PWM2¿·Ö3õê¼»ˉ
//PWMêä3ö3õê¼»ˉ
//arr£o×Ô¶ˉÖØ×°Öμ
//psc£oê±ÖóÔ¤·ÖÆμêy
void TIM3_PWM_Init(u16 arr,u16 psc)
{
//′Ë2¿·ÖDèêÖ¶ˉDT¸ÄIO¿úéèÖÃ
RCC->APB1ENR|=1<<1; //TIM3ê±Öóê1Äü
RCC->APB2ENR|=1<<3; //ê1ÄüPORTBê±Öó
GPIOB->CRL&=0XFF0FFFFF; //PB5êä3ö
GPIOB->CRL|=0X00B00000; //¸′óÃ1|Äüêä3ö
RCC->APB2ENR|=1<<0; //¿aÆô¸¨Öúê±Öó
AFIO->MAPR&=0XFFFFF3FF; //Çå3yMAPRμÄ[11:10]
AFIO->MAPR|=1<<11; //2¿·ÖÖØó3Ïñ,TIM3_CH2->PB5
TIM3->ARR=arr; //é趨¼ÆêyÆ÷×Ô¶ˉÖØ×°Öμ
TIM3->PSC=psc; //Ô¤·ÖÆμÆ÷2»·ÖÆμ
TIM3->CCMR1|=7<<12; //CH2 PWM2Ä£ê½
TIM3->CCMR1|=1<<11; //CH2ԤװÔØê1Äü
TIM3->CCER|=1<<4; //OC2 êä3öê1Äü
TIM3->CR1=0x0080; //ARPEê1Äü
TIM3->CR1|=0x01; //ê1Äü¶¨ê±Æ÷3
}
//¶¨ê±Æ÷5í¨μà1êäèë2¶»ñÅäÖÃ
//arr£o×Ô¶ˉÖØ×°Öμ
//psc£oê±ÖóÔ¤·ÖÆμêy
void TIM5_Cap_Init(u16 arr,u16 psc)
{
RCC->APB1ENR|=1<<3; //TIM5 ê±Öóê1Äü
RCC->APB2ENR|=1<<2; //ê1ÄüPORTAê±Öó
GPIOA->CRL&=0XFFFFFFF0; //PA0 Çå3y֮ǰéèÖÃ
GPIOA->CRL|=0X00000008; //PA0 êäèë
GPIOA->ODR|=0<<0; //PA0 ÏÂà-
TIM5->ARR=arr; //é趨¼ÆêyÆ÷×Ô¶ˉÖØ×°Öμ
TIM5->PSC=psc; //Ô¤·ÖÆμÆ÷
TIM5->CCMR1|=1<<0; //CC1S=01 Ñ¡Ôñêäèë¶Ë IC1ó3éäμ½TI1éÏ
TIM5->CCMR1|=0<<4; //IC1F=0000 ÅäÖÃêäèëÂË2¨Æ÷ 2»ÂË2¨
TIM5->CCMR1|=0<<10; //IC2PS=00 ÅäÖÃêäèë·ÖÆμ,2»·ÖÆμ
TIM5->CCER|=0<<1; //CC1P=0 éÏéyÑØ2¶»ñ
TIM5->CCER|=1<<0; //CC1E=1 ÔêDí2¶»ñ¼ÆêyÆ÷μÄÖμμ½2¶»ñ¼Ä′æÆ÷ÖD
TIM5->DIER|=1<<1; //ÔêDí2¶»ñÖD¶Ï
TIM5->DIER|=1<<0; //ÔêDí¸üDÂÖD¶Ï
TIM5->CR1|=0x01; //ê1Äü¶¨ê±Æ÷2
MY_NVIC_Init(2,0,TIM5_IRQn,2);//ÇàÕ¼2£¬×óóÅÏ輶0£¬×é2
}
//2¶»ñ×′ì¬
//[7]:0,ûóD3é1|μÄ2¶»ñ;1,3é1|2¶»ñμ½ò»′Î.
//[6]:0,»1û2¶»ñμ½¸ßμçƽ;1,òѾ-2¶»ñμ½¸ßμçƽáË.
//[5:0]:2¶»ñ¸ßμçƽoóòç3öμÄ′Îêy
u8 TIM5CH1_CAPTURE_STA=0; //êäèë2¶»ñ×′ì¬
u16 TIM5CH1_CAPTURE_VAL; //êäèë2¶»ñÖμ
//¶¨ê±Æ÷5ÖD¶Ï·tÎñ3ìDò
void TIM5_IRQHandler(void)
{
u16 tsr;
tsr=TIM5->SR;
if((TIM5CH1_CAPTURE_STA&0X80)==0)//»1Î′3é1|2¶»ñ
{
if(tsr&0X01)//òç3ö
{
if(TIM5CH1_CAPTURE_STA&0X40)//òѾ-2¶»ñμ½¸ßμçƽáË
{
if((TIM5CH1_CAPTURE_STA&0X3F)==0X3F)//¸ßμçƽì«3¤áË
{
TIM5CH1_CAPTURE_STA|=0X80;//±ê¼Ç3é1|2¶»ñáËò»′Î
TIM5CH1_CAPTURE_VAL=0XFFFF;
}else TIM5CH1_CAPTURE_STA++;
}
}
if(tsr&0x02)//2¶»ñ1·¢éú2¶»ñê¼t
{
if(TIM5CH1_CAPTURE_STA&0X40) //2¶»ñμ½ò»¸öϽμÑØ
{
TIM5CH1_CAPTURE_STA|=0X80; //±ê¼Ç3é1|2¶»ñμ½ò»′θßμçƽÂö¿í
TIM5CH1_CAPTURE_VAL=TIM5->CCR1; //»ñè¡μ±Ç°μÄ2¶»ñÖμ.
TIM5->CCER&=~(1<<1); //CC1P=0 éèÖÃÎaéÏéyÑØ2¶»ñ
}else //»1Î′¿aê¼,μúò»′Î2¶»ñéÏéyÑØ
{
TIM5CH1_CAPTURE_STA=0; //Çå¿Õ
TIM5CH1_CAPTURE_VAL=0;
TIM5CH1_CAPTURE_STA|=0X40; //±ê¼Ç2¶»ñμ½áËéÏéyÑØ
TIM5->CNT=0; //¼ÆêyÆ÷Çå¿Õ
TIM5->CCER|=1<<1; //CC1P=1 éèÖÃÎaϽμÑØ2¶»ñ
}
}
}
TIM5->SR=0;//Çå3yÖD¶Ï±ê־λ
}
extern vu16 UART5_RX_STA;
//¶¨ê±Æ÷7ÖD¶Ï·tÎñ3ìDò
void TIM7_IRQHandler(void)
{
if(TIM7->SR&0X01)//êǸüDÂÖD¶Ï
{
UART5_RX_STA|=1<<15; //±ê¼Ç½óêÕíê3é
TIM7->SR&=~(1<<0); //Çå3yÖD¶Ï±ê־λ
TIM7->CR1&=~(1<<0); //1رն¨ê±Æ÷7
}
}
//»ù±¾¶¨ê±Æ÷7ÖD¶Ï3õê¼»ˉ
//Õaàïê±ÖóÑ¡ÔñÎaAPB1μÄ2±¶£¬¶øAPB1Îa36M
//arr£o×Ô¶ˉÖØ×°Öμ¡£
//psc£oê±ÖóÔ¤·ÖÆμêy
//Õaàïê1óÃμÄêǶ¨ê±Æ÷7!
void TIM7_Int_Init(u16 arr,u16 psc)
{
RCC->APB1ENR|=1<<5;//TIM7ê±Öóê1Äü
TIM7->ARR=arr; //é趨¼ÆêyÆ÷×Ô¶ˉÖØ×°Öμ//¸ÕoÃ1ms
TIM7->PSC=psc; //Ô¤·ÖÆμÆ÷
TIM7->DIER|=1<<0; //ÔêDí¸üDÂÖD¶Ï
TIM7->CR1|=0x01; //ê1Äü¶¨ê±Æ÷7
MY_NVIC_Init(0,1,TIM7_IRQn,2);//ÇàÕ¼0£¬×óóÅÏ輶1£¬×é2
}
[/mw_shl_code]
一周热门 更多>