菜鸟学习ing

2019-07-21 08:31发布

刚开始接触STM32,就发现问题接连而至,逛了一上午的帖子,发现很多人一路学来,慢慢记录着自己的学习笔记,感觉在分享自己的学习历程的同时,也给了后来的人一些鼓励和促进,对于有些实在头疼的问题,发出来与大家探讨也可以收获更多的灵感和帮助,鉴于以上好处,鄙人决定也开始分享自己的一些学习笔记和心得体会,如有不当之处,还望多多指教,不胜感激。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
12条回答
黄瓜皮
2019-07-22 05:49
//串口实验:
//截取部分代码
int main(void)
{       
        u8 t;
        u8 len;       
        u16 times=0;   //1

        delay_init();                     //延时函数初始化       
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);// 设置中断优先级分组2
        uart_init(9600);         //串口初始化为9600
        LED_Init();                           //初始化与LED连接的硬件接口

        while(1)
        {
                if(USART_RX_STA&0x8000)
                {                                          
                        len=USART_RX_STA&0x3fff;//得到此次接收到的数据长度  // 2
                        printf(" 您发送的消息为: ");
                        for(t=0;t<len;t++)
                        {
                                USART1->DR=USART_RX_BUF[t];
                                while((USART1->SR&0X40)==0);//等待发送结束
                        }
                        printf(" ");//插入换行
                        USART_RX_STA=0;
                }
1:首先要搞懂u8,u16,u32分别表示什么
typedef unsigned              char      uint8_t;
typedef unsigned short     int        uint16_t;
typedef unsigned              int        uint32_t;
typedef unsigned          __int64    uint64_t;
……
stm32f10x.h 这个文件主要是为了兼容旧版本吧
typedef   uint32_t  u32;///32位
typedef   uint16_t  u16;///16位
typedef   uint8_t    u8;///8位
typedef unsigned              char      uint8_t;
typedef unsigned short     int        uint16_t;
typedef unsigned              int        uint32_t;
typedef unsigned          __int64    uint64_t;
……
stm32f10x.h 这个文件主要是为了兼容旧版本吧
typedef   uint32_t  u32;///32位
typedef   uint16_t  u16;///16位
typedef   uint8_t    u8;///8位
---------------------本文来自 申请不容1 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/u011642774 ... 101?utm_source=copy
这样就说的很明白了。
2.len=USART_RX_STA&0x3fff;//得到此次接收到的数据长度  
这里小弟就有一个疑问,既然len定义是八位的,而USART_RX_STA&0x3fff肯定是16位的,那么是怎么得到数据长度的呢?可能是我C语言基础不行,但是翻了书貌似也没看到,所以希望有人能帮忙解释一下。

一周热门 更多>