菜鸟学习ing

2019-07-21 08:31发布

刚开始接触STM32,就发现问题接连而至,逛了一上午的帖子,发现很多人一路学来,慢慢记录着自己的学习笔记,感觉在分享自己的学习历程的同时,也给了后来的人一些鼓励和促进,对于有些实在头疼的问题,发出来与大家探讨也可以收获更多的灵感和帮助,鉴于以上好处,鄙人决定也开始分享自己的一些学习笔记和心得体会,如有不当之处,还望多多指教,不胜感激。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
12条回答
黄瓜皮
1楼-- · 2019-07-21 11:14
其实原子哥的代码写的还算通俗易通,跟着他的视频看思路很清晰,但是有一个问题,就是如果仅仅是看视频或不完全手册,往往会出现以为理解了,但是在实际项目中去运用的时候束手无策,又得重新回过头来看,导致效率低下,尤其是时间紧,任务重的情况下会让人一脸懵逼,所以我个人认为第一遍可以放慢速度来学习,先把代码看一遍,不懂的地方再去看手册或看视频,有条件的可以将学到的东西通过自己的理解加以改写来实现自己的功能,这样的学习会让你更加加深对知识的理解和掌握。
好了,闲话不多说,其实我也是个新手,讲不出啥大道理,以后多写点实际点的东西吧。
船长luffy
2楼-- · 2019-07-21 15:18
 精彩回答 2  元偷偷看……
GZH931022
3楼-- · 2019-07-21 16:20
帮顶 现在被逼着做项目  玩了几个模块了烟雾 wifi 称重 超声波 tcp/ip协议 心率血压脉搏
黄瓜皮
4楼-- · 2019-07-21 22:09
船长luffy 发表于 2018-10-1 14:59
你好。一起啊,我了是板子买了好长时间,一直没有下决心开始。

好呀好呀,都好好学
黄瓜皮
5楼-- · 2019-07-22 00:21
GZH931022 发表于 2018-10-1 16:18
帮顶 现在被逼着做项目  玩了几个模块了烟雾 wifi 称重 超声波 tcp/ip协议 心率血压脉搏

挺好的,我都还没接触那些个东西,以后多多指教呀
黄瓜皮
6楼-- · 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语言基础不行,但是翻了书貌似也没看到,所以希望有人能帮忙解释一下。

一周热门 更多>