矿石收音机论坛

 找回密码
 加入会员

QQ登录

只需一步,快速开始

搜索
查看: 4839|回复: 21

初学stm32

[复制链接]
     
发表于 2017-7-10 16:25:59 | 显示全部楼层 |阅读模式
花了二百多元在网上买了40多个关于单片机的东西,唯一没有开发板。。现在下程序就把我难住了
先发几张关于OLED和下载线的图,求教怎么接线。。
s2000_IMAG0952.jpg s2000_IMAG0953.jpg s2000_IMAG0954.jpg s2000_IMAG0955.jpg s2000_IMAG0956.jpg s2000_IMAG0957.jpg
     
 楼主| 发表于 2017-7-10 16:26:59 | 显示全部楼层
感觉看STM32的资料特别零散,如同天书。
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2017-7-10 16:27:23 | 显示全部楼层
感觉看STM32的资料特别零散,如同天书。
回复 支持 反对

使用道具 举报

     
发表于 2017-7-10 21:24:31 | 显示全部楼层
www.st.com
厂家主页上都有……搜单片机具体型号,把页面上的手册、指南、应用笔记、例程全下载,读一遍……

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

     
发表于 2017-7-21 20:14:26 | 显示全部楼层
嘿嘿嘿——这些我都有,
回复 支持 反对

使用道具 举报

     
发表于 2017-7-25 12:39:05 | 显示全部楼层
库函数还可以啊学习起来

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

     
发表于 2017-7-25 14:07:51 | 显示全部楼层


最小核心板就是开发板 默认出厂烧好检验程序 led灯闪烁程序  插入usb口后电源灯亮,  另外有一个led灯闪烁

stlink可以下载程序  连接gnd   swclk  swdio  应该就行了

ttl 也可以  

评分

1

查看全部评分

回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2017-7-26 06:22:35 | 显示全部楼层
多谢大家支持,我已经从51开始学起!
stm32也通过STlink那天晚上就下好例程了,我只是想测试一下开发板是不是好的。。
回复 支持 反对

使用道具 举报

发表于 2017-7-26 16:37:40 来自手机 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2017-7-26 20:46:02 | 显示全部楼层
sinoidiot 发表于 2017-7-26 16:37
从51开始学起是浪费时间。

我主要是C语言不会,我刚刚高中毕业。。没学C
51简单点,但是中断和定时器看了几天也不太懂。
主要就是不会构造程序,那个思路缺乏的很。。
我还没学指针呢。。估计又是一个不小的坎

感谢您的关注!
回复 支持 反对

使用道具 举报

     
发表于 2017-7-27 12:34:21 | 显示全部楼层
也想用STM32玩玩,看了点资料,还没实际动手呢
貌似STM32很强大!
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2017-7-27 20:13:11 | 显示全部楼层
ace919 发表于 2017-7-27 12:34
也想用STM32玩玩,看了点资料,还没实际动手呢
貌似STM32很强大!

是初学者还是老鸟
我先前没有51的基础,我一看STM32不行就学51了。
求助一个问题,STC15F2K60S2驱动LCD1602模块,就是不好使。
我的硬件没问题,接线没有错
但是我听说单片机管脚有被复用的可能,是不是改一下IO口就可以。。
我找了半天也想不出用那个IO口。。

还有一种说法是STC增强系列的处理速度太快,延时需要加长。我C语言还不太会,看不出哪里是延时,我贴个程序看看吧。。

#include <reg51.h>


#define LCD1602_DB  P0
sbit LCD1602_RS = P1^0;
sbit LCD1602_RW = P1^1;
sbit LCD1602_E = P1^2;


void InitLcd1602();
void LcdShowStr(unsigned char x, unsigned char y, unsigned char *str);


void main()
{
   unsigned char str[] = "2017 07 21";


   InitLcd1602();
   LcdShowStr(2, 0, str);
   LcdShowStr(0, 1, "welcome 2017");
   while (1);
}
/**********等待液晶准备好**********/
void LcdWaitReady()
{
   unsigned char sta;
   

   LCD1602_DB = 0xFF;
   LCD1602_RS = 0;
   LCD1602_RW = 1;
   do {
      LCD1602_E =1;
          sta = LCD1602_DB;//读取状态字
          LCD1602_E = 0;
          } while(sta & 0x80);//bit7等于1表示液晶正忙,重复检测直到其等于0为止
}
/*向LCD1602液晶写入一字节命令,cmd-待写入命令值*/
void LcdWriteCmd(unsigned char cmd)
{
   LcdWaitReady();
   LCD1602_RS = 0;
   LCD1602_RW = 0;
   LCD1602_DB = cmd;
   LCD1602_E = 1;
   LCD1602_E = 0;
}
/*向LCD1602液晶写入一字节数据,dat-待写入数据值*/
void  LcdWriteDat(unsigned char dat)
{  
   LcdWaitReady();
   LCD1602_RS = 1;
   LCD1602_RW =        0;
   LCD1602_DB = dat;
   LCD1602_E = 1;
   LCD1602_E = 0;
}
/*设置显示RAM起始地址,亦即光标位置,(x,y)-对应屏幕上的字符坐标*/
void LcdSetCursor(unsigned char x,unsigned char y)
{
   unsigned char addr;
   

   if(y==0) //由输入的屏幕坐标计算显示RAM的地址
      addr = 0x00 + x; //第一行字符地址从0x00起始
   else
      addr = 0x40 + x; //第二行字符地址从0x40起始
   LcdWriteCmd(addr | 0x80); //设置RAM地址
}
/*在液晶上显示字符串,(x,y)-对应屏幕上的起始坐标,str-字符串指针*/
void LcdShowStr(unsigned char x,unsigned char y,unsigned char *str)
{
   LcdSetCursor(x, y); //设置起始地址
   while (*str != '\0')        //连续写入字符串数据,直到检测到结束符
    {
           LcdWriteDat(*str++); //先取str指向的数据,然后str自动加1
        }
}
/******初始化1602液晶******/
void InitLcd1602()
{
  LcdWriteCmd(0x38); //16*2显示,5*7点阵,8位数据接口
  LcdWriteCmd(0x0c); //显示器开,光标关闭
  LcdWriteCmd(0x06); //文字不动,地址自动+1  
  LcdWriteCmd(0x01); //清屏
}



请问这么多函数,是按顺序从上到下一个个执行吗?为啥初始化放在最后呢。。

先谢!!
回复 支持 反对

使用道具 举报

     
发表于 2017-7-27 22:24:11 | 显示全部楼层
可以理解为从 main() 函数开始执行的(实际不是),main()函数后面大括号里的语句是按顺序执行的,其它函数就不一定是按顺序执行的了,多写写就明白了。
回复 支持 反对

使用道具 举报

     
发表于 2017-7-28 08:23:36 | 显示全部楼层
S66D 发表于 2017-7-27 20:13
是初学者还是老鸟
我先前没有51的基础,我一看STM32不行就学51了。
求助一个问题,STC15F2K60S2驱动 ...

51用过,但STC的51没用过,不好说,也许确实是STC51速度太快,你这代码两个I/O操作之间又没有延迟的原因吧
回复 支持 反对

使用道具 举报

     
 楼主| 发表于 2017-7-28 14:00:56 | 显示全部楼层
ace919 发表于 2017-7-28 08:23
51用过,但STC的51没用过,不好说,也许确实是STC51速度太快,你这代码两个I/O操作之间又没有延迟的原因 ...

没明白
那两个IO口操作没有延迟?
初学单片机,对于一些东西不是一点就通。。。 能进一步指点吗,谢谢你的关注!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入会员

本版积分规则

小黑屋|手机版|矿石收音机 ( 蒙ICP备05000029号-1 )

蒙公网安备 15040402000005号

GMT+8, 2025-4-30 19:45

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表