#include "stm32f0xx.h"
#include "stm32_lib/inc/stm32f0xx_rcc.h"
#include "stm32_lib/inc/stm32f0xx_gpio.h"
#include "stm32_lib/inc/stm32f0xx_usart.h"
#include "stm32_lib/inc/stm32f0xx_misc.h"
#include "delay.h"
int main(void)
{
//1、使能时钟
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE);
//2、引脚选择
GPIO_PinAFConfig(GPIOA,GPIO_PinSource9,GPIO_AF_1);
GPIO_PinAFConfig(GPIOA,GPIO_PinSource10,GPIO_AF_1);
//3、引脚设置
GPIO_InitTypeDef PORT_UART1_TX;//定义TX脚,PORT_UART1_TX是自定义名称,可以任意
PORT_UART1_TX.GPIO_Mode=GPIO_Mode_AF;
PORT_UART1_TX.GPIO_Pin=GPIO_Pin_9;//此参数根据上面选择的引脚来定
//PORT_UART1_TX.GPIO_Speed=GPIO_Speed_10MHz;
PORT_UART1_TX.GPIO_PuPd=GPIO_PuPd_UP;
GPIO_Init(GPIOA,&PORT_UART1_TX);
GPIO_InitTypeDef PORT_UART1_RX;//定义RX脚
PORT_UART1_RX.GPIO_Mode=GPIO_Mode_AF;
PORT_UART1_RX.GPIO_Pin=GPIO_Pin_10;//此参数根据上面选择的引脚来定
//PORT_UART1_RX.GPIO_Speed=GPIO_Speed_10MHz;
PORT_UART1_RX.GPIO_PuPd=GPIO_PuPd_UP;
GPIO_Init(GPIOA,&PORT_UART1_RX);
//4、串口参数配置
USART_InitTypeDef MyUsart1;//这个MyUsart1是我自定义的,可以任意定义如XYZ123
MyUsart1.USART_BaudRate=9600;//设置波特率
MyUsart1.USART_WordLength=USART_WordLength_8b;//设置数据长度
MyUsart1.USART_Parity=USART_Parity_No;//设置奇偶校验
MyUsart1.USART_StopBits=USART_StopBits_1;//设置停止位
MyUsart1.USART_HardwareFlowControl=USART_HardwareFlowControl_None;//设置流控制
MyUsart1.USART_Mode=USART_Mode_Tx|USART_Mode_Rx;//设置模式
USART_Init(USART1,&MyUsart1);
//允许接收中断RXNE和发送完成中断TC
USART_ITConfig(USART1,USART_IT_RXNE,ENABLE);
USART_ITConfig(USART1,USART_IT_TC,ENABLE);
//5、使能
USART_Cmd(USART1,ENABLE);
//6、中断向量设置
NVIC_InitTypeDef NVIC_InitStructure;
NVIC_InitStructure.NVIC_IRQChannel=USART1_IRQn;//设置中断
NVIC_InitStructure.NVIC_IRQChannelPriority=0;//设置优先级
NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;//使能
NVIC_Init(&NVIC_InitStructure);
while(1){
}
}
//中断函数
void USART1_IRQHandler(void){
unsigned char temp=0;
//如果是接收中断
if(USART_GetITStatus(USART1,USART_IT_RXNE)!=RESET){
temp=USART_ReceiveData(USART1);//读完即自动清除RXNE
USART_SendData(USART1,temp);
//USART_ClearFlag(USART1,USART_FLAG_RXNE);
}
//如果是发送中断
else
{
USART_ClearFlag(USART1,USART_FLAG_TC);
//......
}
}
上一篇:STM32入门学习之SysTick系统定时器(STM32F030F4P6基于CooCox IDE)
下一篇:STM32入门学习之USART(STM32F030F4P6基于CooCox IDE)
推荐阅读
史海拾趣
随着电子行业的快速发展和变革,CIRCUITCO公司面临着前所未有的挑战和机遇。为了应对这些变革,公司不断调整战略布局,积极拓展新的业务领域。例如,公司开始关注物联网、人工智能等新兴领域的发展,加大在这些领域的研发投入。同时,公司也积极探索国际化发展的道路,通过与国外企业的合作与交流,不断提升自身的国际竞争力。通过这些举措,CIRCUITCO公司成功应对了行业变革带来的挑战,实现了持续稳健的发展。
这五个故事展示了CIRCUITCO公司在电子行业中的发展历程,涵盖了技术研发、市场拓展、生产线升级、人才引进和战略布局等方面。这些故事虽然是虚构的,但基于电子行业的一般性发展和可能的情况,能够反映出一家公司在该行业中可能经历的一些典型事件。
面对全球市场的竞争压力,EAO公司坚定实施全球化战略。公司在全球范围内建立了完善的销售网络和售后服务体系,为客户提供及时、高效的服务。同时,EAO公司还积极寻求与国际知名企业的合作机会,共同开拓市场、分享资源。通过全球化战略的实施,EAO公司不断提升品牌影响力和市场竞争力。
启英泰伦凭借其在人工智能芯片领域的硬科技实力,连续四年入选“成都硬科技扑克牌榜单”。这一荣誉不仅肯定了公司在技术创新和产品研发方面的成就,也提升了公司在行业内的知名度和影响力。作为一家专注于人工智能芯片硬科技领域的公司,启英泰伦一直致力于推动芯片技术的创新和突破,为客户提供最优质的产品和服务。
某EPC公司在电子行业中以技术创新为核心竞争力。在早期阶段,公司专注于研发高效的电子制造技术和工艺,通过不断的技术突破,成功降低了生产成本,提高了产品质量。随着技术的不断成熟和应用,公司逐渐在行业内树立了技术领先的形象,吸引了众多客户的合作。通过与知名企业的合作,公司不断拓展市场份额,实现了快速发展。
艾谱科公司深知技术创新的重要性。为了保持产品的竞争力,公司不断加大研发投入,积极引进高素质人才,并与国内外知名科研机构建立合作关系。在研发团队的努力下,艾谱科不断推出具有创新性的产品,如低功耗处理器、高速数据传输模块等。这些新产品不仅提升了公司的市场竞争力,也为客户提供了更加优质的产品选择。
本帖最后由 jameswangsynnex 于 2015-3-3 19:59 编辑 这些名词在硬件测评中很常见~~~~~ ★ 前端总线频率 总线是将信息以一个或多个源部件传送到一个或多个目的部件的一组传输线。通俗的说,就是多个部件间的公共连线,用于在各个部件之间传 ...… 查看全部问答∨ |
|
高手们,问下一个问题 如何用编程实现wince桌面背景的更换 比如,更换为我指定位置上的那张图片。 以下是我在evc跑的代码 BOOL T=FALSE; TCHAR bmpfile[]=L"sdmmc\\\\wince.bmp"; &nbs ...… 查看全部问答∨ |
|
JTAG客栈--做中国人自己的JTAG adapter,JTAG不再是神话! JTAG客栈--做中国人自己的JTAG adapter,JTAG不再是神话! JTAG 是 JOINT TEST ACTION GROUP的简称。IEEE 1149.1 标准就是由 JTAG这个组织最初提出的,最终由IEEE 批准并且标准化的。所以,这个 IEEE 1149.1 这个标准一般也俗称 JTA ...… 查看全部问答∨ |
|
ucgui 嵌入式 输入法 包含拼音、笔画、英文、数字与符号的完整输入法软件 打开自己编写的UCGUI的串口调试助手应用软件,任意点击下面的一个编辑框控件,就会弹出输入法界面: 一、拼音输入演示: 二、笔画输入法演示: 三、汉字符号输入演示: 四、英文输入演示: 五、英文符 ...… 查看全部问答∨ |
比如电源3.3V,外部输入电流多大430就可以识别出输入是高电平。也就是问限流电阻最大能接多大?100K还是1000K。还有请问在哪个部分里看这个值,我找了一下datasheets,不知道在哪里找! 谢谢了! … 查看全部问答∨ |