历史上的今天
今天是:2025年07月24日(星期四)
2020年07月24日 | 实现STMF103串口仿真
2020-07-24 来源:51hei
代码如下:
#include "sys.h"
#include "usart.h"
#include "delay.h"
#include "led.h"
#include "key.h"
//串口实验
int main(void)
{
u8 t;
u8 len;
u16 times=0;
Stm32_Clock_Init(9); //系统时钟设置
delay_init(72); //延时初始化
uart_init(72,9600); //串口初始化为9600
LED_Init(); //初始化与LED连接的硬件接口
while(1)
{
#define Proteus_SIM 1 //1使能Proteus仿真;0禁止Proteus仿真
switch(Proteus_SIM)
{
case 1://Proteus仿真
if(USART_RX_STA>0)
{
printf("rn您发送的消息为:rn");
for(t=0;t<1;t++)//Proteus的STM32F103仿真模型只能正确接收第一个字符
{
USART1->DR=USART_RX_BUF[t];
while((USART1->SR&0X40)==0);//等待发送结束
}
printf("rnProteus的STM32F103仿真模型只能正确接收第一个字符rnrn");//插入换行
USART_RX_STA=0;
}
times++;
if(times%5000==0)
{
printf("rnALIENTEK MiniSTM32开发板 串口实验rn");
printf("正点原子@ALIENTEKrnrnrn");
}
if(times%200==0)printf("请输入数据,以回车键结束rn");
if(times%30==0)LED0=!LED0;//闪烁LED,提示系统正在运行.
delay_ms(10);
break;
case 0://正点原子Mini板实物运行
if(USART_RX_STA&0x8000)
{
len=USART_RX_STA&0x3fff;//得到此次接收到的数据长度
printf("rn您发送的消息为:rn");
for(t=0;t
USART1->DR=USART_RX_BUF[t];
while((USART1->SR&0X40)==0);//等待发送结束
}
printf("rnrn");//插入换行
USART_RX_STA=0;
}
else
{
times++;
if(times%5000==0)
{
printf("rnALIENTEK MiniSTM32开发板 串口实验rn");
printf("正点原子@ALIENTEKrnrnrn");
}
if(times%200==0)printf("请输入数据,以回车键结束rn");
if(times%30==0)LED0=!LED0;//闪烁LED,提示系统正在运行.
delay_ms(10);
}
break;
}
}
}
史海拾趣
|
串口发送的问题:发送16 18 98 01 20 E7 这样一条指令到单片机。相同的代码,在pc上vc的代码可以正常启动单片机,但wince上evc的代码就不行,请问是什么原因。而wince上发出的指令我用pc接收得到的数据得确是16 18 98 01 20 E7 。大家帮忙分析一下 ...… 查看全部问答> |
|
在windlows Mobile 平台上作了一个操作文件的程序。文件是以可读写方式打开的,对其进行了一次读写操作后,在进行写操作就会出错。用GetLastError调出错误原因显示“访问被拒绝”,检查文件指针没有发现未释放的文件指针。现在不知道该怎么解决,请 ...… 查看全部问答> |
|
C:\\Program Files\\Windows CE Tools\\wce400\\STANDARDSDK\\Include\\x86\\prsht.h(261) : error C2146: syntax error : missing \';\' before identifier \'hdr\' C:\\Program Files\\Windows CE Tools\\wce400\\STANDARDSDK\\Include\\x86\\pr ...… 查看全部问答> |
|
这些资料是做智能家居系统收集的,有兴趣的可以看看。 1.周工SmartCortex M3-1700资料 https://bbs.eeworld.com.cn/thread-153450-1-1.html 2.几种LPC1700开发板原理图 https://bbs.eeworld.com.cn/thread-111150-1-1.html… 查看全部问答> |
|
上电后,用于显示采样数据的8个led灯先全亮,然后最高位灭,下来全灭。程序是这样的——module amyad(clk,din,clk_ad,cs,dout); input clk; input din; output clk_ad; &nbs ...… 查看全部问答> |




