#include "stm32f10x.h"
#include "string.h"
#include "stdio.h"
void delay(void);
void GPIO_Configuration(void);
void uart_init();
extern void USART_OUT(USART_TypeDef* USARTx, uint16_t *Data,...);
void RCC_Configuration(void)
{
SystemInit();
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1|
RCC_APB2Periph_GPIOA|
RCC_APB2Periph_GPIOB|
RCC_APB2Periph_GPIOD |
RCC_APB2Periph_AFIO|
RCC_APB2Periph_GPIOC,ENABLE);
RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2,ENABLE);
}
void NVIC_Configuration(void)
{
NVIC_InitTypeDef NVIC_InitStructure;
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);
NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn|USART2_IRQn; //ÉèÖô®¿Ú1ÖжÏ
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; //ÇÀÕ¼ÓÅÏȼ¶ 0
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; //×ÓÓÅÏȼ¶Îª0
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //ʹÄÜ
NVIC_Init(&NVIC_InitStructure);
}
void UART_PutChar(USART_TypeDef* USARTx, uint8_t Data)
{
USART_SendData(USARTx, Data);
while(USART_GetFlagStatus(USARTx, USART_FLAG_TC) == RESET){}
}
void UART_PutStr (USART_TypeDef* USARTx, uint8_t *str)
{
while (0 != *str)
{
UART_PutChar(USARTx, *str);
str++;
}
}
int main(void)
{
RCC_Configuration();
GPIO_Configuration();
NVIC_Configuration();
uart_init();
while(1)
{
GPIO_ResetBits(GPIOC,GPIO_Pin_7|GPIO_Pin_9|GPIO_Pin_13);
delay();
GPIO_SetBits(GPIOC,GPIO_Pin_6|GPIO_Pin_8|GPIO_Pin_13);
delay();
GPIO_ResetBits(GPIOC,GPIO_Pin_6|GPIO_Pin_8|GPIO_Pin_13);
delay();
GPIO_SetBits(GPIOC,GPIO_Pin_7|GPIO_Pin_9|GPIO_Pin_13);
delay();
//USART_SendData(USART1, '1');
UART_PutStr(USART1,(uint8_t*)("234"));
UART_PutStr(USART2,(uint8_t*)("234"));
}
}
void GPIO_Configuration(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_13;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
GPIO_Init(GPIOC,&GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9|GPIO_Pin_2; //USART1 TX
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; //¸´ÓÃÍÆÍìÊä³ö
GPIO_Init(GPIOA, &GPIO_InitStructure); //A¶Ë¿Ú
/* Configure USART2 Rx (PA.03) as input floating */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10|GPIO_Pin_3; //USART1 RX
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; //¸´ÓÿªÂ©ÊäÈë
GPIO_Init(GPIOA, &GPIO_InitStructure); //A¶Ë¿Ú
}
void uart_init()
{
USART_InitTypeDef USART_InitStructure;
USART_InitStructure.USART_BaudRate = 115200;
USART_InitStructure.USART_WordLength = USART_WordLength_8b;
USART_InitStructure.USART_StopBits = USART_StopBits_1;
USART_InitStructure.USART_Parity = USART_Parity_No;
USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
USART_InitStructure.USART_Mode = USART_Mode_Tx | USART_Mode_Rx;
USART_Init(USART1, &USART_InitStructure);
USART_ITConfig(USART1, USART_IT_RXNE, ENABLE); //ʹÄܽÓÊÕÖжÏ
USART_ITConfig(USART1, USART_IT_TXE, ENABLE); //ʹÄÜ·¢ËÍ»º³å¿ÕÖжÏ
USART_Init(USART2, &USART_InitStructure);
USART_ITConfig(USART2, USART_IT_RXNE, ENABLE); //ʹÄܽÓÊÕÖжÏ
USART_ITConfig(USART2, USART_IT_TXE, ENABLE); //ʹÄÜ·¢ËÍ»º³å¿ÕÖжÏ
USART_Cmd(USART1, ENABLE);
USART_Cmd(USART2, ENABLE);
}
void USART1_IRQHandler(void) //´®¿Ú1 ÖжϷþÎñ³ÌÐò
{
static u8 RX_dat[256]={0};static int i;
if(USART_GetITStatus(USART1,USART_IT_RXNE)==SET)//USART_IT_RXNE£º½ÓÊÕÖжÏ
{
USART_ClearITPendingBit(USART1,USART_IT_RXNE);
RX_dat[i++]=USART_ReceiveData(USART1);
}
if(RX_dat[0]=='{' && RX_dat[i-1]=='}')
{
//UART_PutStr(USART2,"fdg");
}
}
void USART2_IRQHandler(void) //´®¿Ú2 ÖжϷþÎñ³ÌÐò
{
unsigned int i;
}
上一篇:stm32f103之串口实验
下一篇:STM32串口USART1程序
推荐阅读
史海拾趣
随着技术的不断成熟和市场的不断扩大,成都成电硅海公司开始寻求更广阔的市场空间。公司积极参加国内外各种行业展会和论坛,与业界同行进行深入的交流和合作。同时,公司还加大了对海外市场的开拓力度,成功将产品打入欧美等发达国家市场。这一系列的市场拓展举措,使得成都成电硅海公司的知名度不断提升,市场份额也逐渐扩大。
成都成电硅海公司自2009年成立以来,就以其独特的技术创新能力在电子行业中崭露头角。公司创始人李德全深谙半导体行业的技术趋势,带领团队攻克了一个又一个技术难题。在成立初期,公司就成功研发出一款高性能的硅基材料,这一创新不仅打破了国外企业的技术垄断,还为公司赢得了市场的初步认可。
随着公司规模的扩大,Collins Electronics Corp开始将目光投向国际市场。他们积极参加国际电子展会,与世界各地的潜在客户和合作伙伴交流。通过与不同国家的企业合作,公司成功打入了国际市场,产品销量大幅提升。这一过程中,他们不仅学习了国际先进的电子技术,还积累了丰富的跨国运营经验。
D3 Semiconductor自创立之初,就致力于半导体技术的研发与创新。公司凭借其独特的超结金属氧化物半导体场效应晶体管(MOSFET)技术,在功率电子市场上迅速崭露头角。这项技术在硬开关应用中展现出了同类最佳性能,为通讯、企业计算、不间断电源(UPS)和太阳能等领域提供了高效可靠的解决方案。D3 Semiconductor的这一技术突破不仅赢得了市场的认可,也为公司后续的发展奠定了坚实的基础。
D3 Semiconductor自创立之初,就致力于半导体技术的研发与创新。公司凭借其独特的超结金属氧化物半导体场效应晶体管(MOSFET)技术,在功率电子市场上迅速崭露头角。这项技术在硬开关应用中展现出了同类最佳性能,为通讯、企业计算、不间断电源(UPS)和太阳能等领域提供了高效可靠的解决方案。D3 Semiconductor的这一技术突破不仅赢得了市场的认可,也为公司后续的发展奠定了坚实的基础。
一、线路图: 1、rsense电阻取1欧姆时。充电电流为250MA,0.5欧姆时,电流为520MA,2N6109用TIP42代替,SHUNT电阻为限流电阻,大约1K,其他参数如图。 转绢流后充电机充电电流是原来的1/8还是1/16取决于PGM3脚的接法: Rsense电阻两 ...… 查看全部问答∨ |
|
quartus功能仿真出现致命错误。 Fatal error: Module: quartus_sim.exe Exception: Access Violat *** Fatal error: Module: quartus_sim.exe Exception: Access Violation Stack Trace: 01a314e6: SDB_DFF_INFO::set_last_clock_value() + 0x34 (tsm_sdb) 01a03144: EDS_ENGINE::propagate() + 0xb0 (TSM_EDS) 01a03321: EDS_ENGINE::propaga ...… 查看全部问答∨ |
|
LM4871/CSC8002低电压3W功率放大器IC应用电路原理图说明 LM4871/CSC8002 是一个BTL 桥连接的音频功率放大器.它能够在5V 电源电压下给一个3Ω 负载提供THD 小于10%、平均值为3W 输出功率。在关闭模式下电流的典型值为0.6uA. LM4871/CSC8002 是为提供大功率,高保真音频输出而专门设计的.它仅仅需要少量 ...… 查看全部问答∨ |
MSP430F149 32k晶振不振 开始的时候,上电发现32K和6M的晶振全不振,后来经过测量,发现/RST信号为0V,原来/RST信号被我弄错了。 后来修改的电路,/RST信号为高,6M的晶体工作正常,但是32K的没有工作。只输出一个有3V左右直流偏置、有不稳定0.5V ...… 查看全部问答∨ |
我现在在测试zigbee加密问题,协调器不使用加密,而路由器使用机密的时候,发现路由加入不了网络,不知到为什么。请哪位高手指教一下。 哦,我加密的时候只在f8Config.cfg上面把DSECURE设成1.… 查看全部问答∨ |
下面转载的这篇文章,是一个国外网站几年前的文章,对于相当多的电源初学者而言,这篇文章还是非常有参考价值的,希望对读者朋友起到一定的帮助作用。由于文中有很多专业词汇,翻译过程中可能会有所纰漏和不足,希望电源达人能够多多指正,不胜感激 ...… 查看全部问答∨ |