(后二80注注册万博体育稳定么吗)——里的个人物都叫什么谢谢了大神帮忙啊

2个朋友送礼,签名只是他们名字最后的一个字,是异性朋友,他们之间的关系是什么谢谢了,大神帮忙啊_百度知道
2个朋友送礼,签名只是他们名字最后的一个字,是异性朋友,他们之间的关系是什么谢谢了,大神帮忙啊
我有更好的答案
也许只是好朋友
采纳率:73%
为您推荐:
其他类似问题
异性朋友的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。角色转移服务器查询
特别说明:只能查询单台服务器本周可以转入的服务器。具体转入情况还受转入服务器人数限制影响,实际可转情况请以游戏内申请列表为准。
每周维护测试服当周无法转出,具体测试服情况请见:更新时间:每周二维护期间会更新列表,受网络影响更新时间可能会略有偏差。此后每个小时整点刷新,目标服务器当前已转入人数(含预定人数)大于等于转入人数额度时,此服务器将会从可转入服务器列表删除。
请搜索服务器按回帖时间排序
按发帖时间排序
2968&/&396787
大宝剑的日常
一个小白咯
菜鸟一ming
菜鸟一ming
会飞的小霸王
詹姆斯大战塔图姆
广开外男神
韩翔宇_大鹏
dongfang12
我大哥詹皇
塔兹米欧尼酱
羊羊得意198
许玉屹纯行货
陈乔恩的老公
长春梁朝伟
共和国大长子
140&/&2388
丸子小宝宝
幼儿园队第一分卫
丸子小宝宝
名字不用很长
华科小铁匠
唐宋元明清1213
currylong灬
Malik_纽曼
东北亚舞王赵四
展示专用名称
鉴定中心共1910730主题 /回复本站所有小说及章节均来源于网络,转载至本站只是为了宣传本书让更多读者欣赏。
Copyright & 2017 All Rights Reserved.查看: 1293|回复: 2
USART2只能在上电和复位之后发送一字节的数据,不能进行连续发送,请大神帮忙看下是不是哪儿配置错误?谢谢!
主题帖子精华
新手入门, 积分 34, 距离下一级还需 -14 积分
在线时间1 小时
以下为串口2初始化函数和主函数。
void uart2_init(u32 bound)&
&& GPIO_InitTypeDef GPIO_InitS&&&&&&& //定义一个GPIO结构体
&& NVIC_InitTypeDef NVIC_InitS&&&&&&&& //定义一个NVIC向量表结构体变量
&& USART_InitTypeDef USART_InitS&&&&//定义一个串口结构体
&& RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
&& RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2,ENABLE);&&&&&&&&&&&&&&&&
&&& USART_DeInit(USART2);
&& GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2; &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &// 串口2接收端挂接到2端口
&&&GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;&&& &&&&&&&&&&&&&&&&&&&&&&&&& &//&复用开漏输出
&&&GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;&&&&&&&&&&&&&&&&&&&&&&&&&& &// 端口速度为50M
&&&GPIO_Init(GPIOA, &GPIO_InitStructure);&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&//&初始化GPIOA寄存器
&& GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3;
& &GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;&&&&&&&&&&&&&&&&&&&&&//&浮空输入
&&&GPIO_Init(GPIOA, &GPIO_InitStructure);&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&//&初始化GPIOA寄存器
&&NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //&设置中断组2
&&NVIC_InitStructure.NVIC_IRQChannel = USART2_IRQn;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &//配置串口2中断源
&&NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2; &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& & //设置占优先级为2
&&NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;&&& &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& &//设置副优先级为0
&&NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;&&&& &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //使能串口2中断
&&NVIC_Init(&NVIC_InitStructure);&&&&& &&&& &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& & //初始化中断寄存器
&&USART_InitStructure.USART_BaudRate&&&&&&&&&&&&&&&& =&& &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //9600
&&USART_InitStructure.USART_WordLength&&&&&&&&&&&&& = USART_WordLength_8b;&&&&&&&&&&&& &//8位
&&USART_InitStructure.USART_StopBits&&&&&&&&&&&&&&&&&&&& = USART_StopBits_1;& &&&&&&&&&&&&&&&&&&& &//1位停止位
&&USART_InitStructure.USART_Parity&&&&&&&&&&&&&&&&&&&&&&& &= USART_Parity_N& &&&&&&&&&&&&&&&&&&&&& //无奇偶校验
&&USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_N//硬件流失能
&&USART_InitStructure.USART_Mode&&&&&&&&&&&&&&&&&&&&&&&& = USART_Mode_Rx | USART_Mode_Tx; //接收发送模式
&&USART_Init(USART2, &USART_InitStructure);&&&&&&&&&&&&&&&&&&&& //初始化串口寄存器
&&USART_ITConfig(USART2,USART_IT_RXNE,ENABLE);&&&&&&&& //使能串口中断接收
&&USART_Cmd(USART2, ENABLE);&&&& &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& //使能串口外设
程序运行之后led被点亮,但是发送一个字节0X06之后led熄灭,串口不再发送数据,led也没有再被点亮,一直处于熄灭状态。
程序中的led用来指示每次数据发送。
int main(void)
&uint16_t i=0;&
&SystemInit();&&&&&&&&&&&&&&&&&& // 系统时钟初始化36M
&uart2_init(9600);
&Init_LED();&&&&&&&&&&&&&&&&&&&&& &//配置LED引脚
&GPIO_SetBits(GPIOG, GPIO_Pin_14);&&&&& //led& 亮
&Delay_Ms(1000);
&while(1)&&&&&&&&&&&&&
&& USART2_Send_Byte(0x06);&&&&&&&&&&&&&&&&& && &//连续发送数据0X06
&&& GPIO_ResetBits(GPIOG, GPIO_Pin_14);&&& &//led&熄
&&& Delay_Ms(1000);&
&&& GPIO_SetBits(GPIOG, GPIO_Pin_14);&&&&&& &//led&&亮
&& Delay_Ms(1000);&&
如果主函数被改为以下形式(去掉while()中的led闪烁函数),串口只能连续发送3个字节的0X06,之后也不再发送数据。
int main(void)
uint16_t i=0;
SystemInit();&&&&&&&&&&&&&&&&&&&&&& // 系统时钟初始化36M
uart2_init(9600);
Init_LED();&&&&&&&&&&&&&&&&&&&&&&&&& &//配置LED引脚
GPIO_SetBits(GPIOG, GPIO_Pin_14);&&&&&&&& //led 亮
Delay_Ms(1000);
USART2_Send_Byte(0x06);&&&&&&&&&&&&&&&&&&&&& //连续发送数据0X06
给你个参考代码:
[mw_shl_code=c,true]#include "delay.h"
#include "usart2.h"
#include "stdarg.h"
#include "stdio.h"
#include "string.h"
//////////////////////////////////////////////////////////////////////////////////
//本程序只供学习使用,未经作者许可,不得用于其它任何用途
//ALIENTEK战舰STM32开发板
//串口2驱动代码
//正点原子@ALIENTEK
//技术论坛:www.openedv.com
学然后知不足!
主题帖子精华
金钱126790
在线时间1100 小时
给你个参考代码:
[C] 纯文本查看 复制代码#include \"delay.h\"
#include \"usart2.h\"
#include \"stdarg.h\"
#include \"stdio.h\"
#include \"string.h\"
//////////////////////////////////////////////////////////////////////////////////
//本程序只供学习使用,未经作者许可,不得用于其它任何用途
//ALIENTEK战舰STM32开发板
//串口2驱动代码
//正点原子@ALIENTEK
//技术论坛:www.openedv.com
//修改日期:
//版本:V1.0
//版权所有,盗版必究。
//Copyright(C) 广州市星翼电子科技有限公司
//All rights reserved
//////////////////////////////////////////////////////////////////////////////////
//串口发送缓存区
__align(8) u8 USART2_TX_BUF[USART2_MAX_SEND_LEN];
//发送缓冲,最大USART2_MAX_SEND_LEN字节
#ifdef USART2_RX_EN
//如果使能了接收
//串口接收缓存区
u8 USART2_RX_BUF[USART2_MAX_RECV_LEN];
//接收缓冲,最大USART2_MAX_RECV_LEN个字节.
//通过判断接收连续2个字符之间的时间差不大于10ms来决定是不是一次连续的数据.
//如果2个字符接收间隔超过10ms,则认为不是1次连续数据.也就是超过10ms没有接收到
//任何数据,则表示此次接收完毕.
//接收到的数据状态
//[15]:0,没有接收到数据;1,接收到了一批数据.
//[14:0]:接收到的数据长度
u16 USART2_RX_STA=0;
void USART2_IRQHandler(void)
if(USART2-&SR&(1&&5))//接收到数据
res=USART2-&DR;
if(USART2_RX_STA&USART2_MAX_RECV_LEN)
//还可以接收数据
TIM4-&CNT=0;
//计数器清空
if(USART2_RX_STA==0)TIM4_Set(1);
//使能定时器4的中断
USART2_RX_BUF[USART2_RX_STA++]=
//记录接收到的值
USART2_RX_STA|=1&&15;
//强制标记接收完成
//初始化IO 串口2
//pclk1:PCLK1时钟频率(Mhz)
//bound:波特率
void USART2_Init(u32 pclk1,u32 bound)
RCC-&APB2ENR|=1&&8;
//使能PORTG口时钟
GPIOG-&CRH&=0XFFFFFF0F; //IO状态设置
GPIOG-&CRH|=0X; //IO状态设置
RCC-&APB2ENR|=1&&2;
//使能PORTA口时钟
GPIOA-&CRL&=0XFFFF00FF; //IO状态设置
GPIOA-&CRL|=0X00008B00; //IO状态设置
RCC-&APB1ENR|=1&&17;
//使能串口时钟
RCC-&APB1RSTR|=1&&17;
//复位串口2
RCC-&APB1RSTR&=~(1&&17);//停止复位
//波特率设置
USART2-&BRR=(pclk1*1000000)/(bound);// 波特率设置
USART2-&CR1|=0X200C;
//1位停止,无校验位.
USART2-&CR3=1&&7;
//使能串口2的DMA发送
UART_DMA_Config(DMA1_Channel7,(u32)&USART2-&DR,(u32)USART2_TX_BUF);//DMA1通道7,外设为串口2,存储器为USART2_TX_BUF
#ifdef USART2_RX_EN
//如果使能了接收
//使能接收中断
USART2-&CR1|=1&&8;
//PE中断使能
USART2-&CR1|=1&&5;
//接收缓冲区非空中断使能
MY_NVIC_Init(2,3,USART2_IRQn,2);//组2,最低优先级
TIM4_Init(99,7199);
//10ms中断
USART2_RX_STA=0;
TIM4_Set(0);
//关闭定时器4
//串口2,printf 函数
//确保一次发送数据不超过USART2_MAX_SEND_LEN字节
void u2_printf(char* fmt,...)
va_start(ap,fmt);
vsprintf((char*)USART2_TX_BUF,fmt,ap);
va_end(ap);
while(DMA1_Channel7-&CNDTR!=0); //等待通道7传输完成
UART_DMA_Enable(DMA1_Channel7,strlen((const char*)USART2_TX_BUF));
//通过dma发送出去
//定时器4中断服务程序
void TIM4_IRQHandler(void)
if(TIM4-&SR&0X01)//是更新中断
USART2_RX_STA|=1&&15; //标记接收完成
TIM4-&SR&=~(1&&0);
//清除中断标志位
TIM4_Set(0);
//关闭TIM4
//设置TIM4的开关
//sta:0,关闭;1,开启;
void TIM4_Set(u8 sta)
TIM4-&CNT=0;
//计数器清空
TIM4-&CR1|=1&&0;
//使能定时器4
}else TIM4-&CR1&=~(1&&0);//关闭定时器4
//通用定时器中断初始化
//这里始终选择为APB1的2倍,而APB1为36M
//arr:自动重装值。
//psc:时钟预分频数
void TIM4_Init(u16 arr,u16 psc)
RCC-&APB1ENR|=1&&2; //TIM4时钟使能
TIM4-&ARR=
//设定计数器自动重装值
TIM4-&PSC=
//预分频器
TIM4-&DIER|=1&&0;
//允许更新中断
TIM4-&CR1|=0x01;
//使能定时器4
MY_NVIC_Init(1,3,TIM4_IRQn,2);//抢占2,子优先级3,组2 在2中优先级最低
///////////////////////////////////////USART2 DMA发送配置部分//////////////////////////////////
//DMA1的各通道配置
//这里的传输形式是固定的,这点要根据不同的情况来修改
//从存储器-&外设模式/8位数据宽度/存储器增量模式
//DMA_CHx:DMA通道CHx
//cpar:外设地址
//cmar:存储器地址
void UART_DMA_Config(DMA_Channel_TypeDef*DMA_CHx,u32 cpar,u32 cmar)
RCC-&AHBENR|=1&&0;
//开启DMA1时钟
delay_us(5);
DMA_CHx-&CPAR=
//DMA1 外设地址
DMA_CHx-&CMAR=
//DMA1,存储器地址
DMA_CHx-&CCR=0X; //复位
DMA_CHx-&CCR|=1&&4;
//从存储器读
DMA_CHx-&CCR|=0&&5;
//普通模式
DMA_CHx-&CCR|=0&&6;
//外设地址非增量模式
DMA_CHx-&CCR|=1&&7;
//存储器增量模式
DMA_CHx-&CCR|=0&&8;
//外设数据宽度为8位
DMA_CHx-&CCR|=0&&10;
//存储器数据宽度8位
DMA_CHx-&CCR|=1&&12;
//中等优先级
DMA_CHx-&CCR|=0&&14;
//非存储器到存储器模式
//开启一次DMA传输
void UART_DMA_Enable(DMA_Channel_TypeDef*DMA_CHx,u8 len)
DMA_CHx-&CCR&=~(1&&0);
//关闭DMA传输
DMA_CHx-&CNDTR=
//DMA1,传输数据量
DMA_CHx-&CCR|=1&&0;
//开启DMA传输
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺:
微信公众平台:正点原子& &
主题帖子精华
新手入门, 积分 34, 距离下一级还需 -14 积分
在线时间1 小时
回复【2楼】正点原子:
------------------------------
虽然还没对寄存器操作过,不过看看应该会对串口有更深的了解,虽然有压力,哈哈!谢了!
学然后知不足!
Powered by

我要回帖

更多关于 后二58注稳定平刷不倍 的文章

 

随机推荐