CC2530,串口通信,收发字符问题。

本人单片机新手。下面的程序是正确可达到目的。
对于这个程序我有2个地方不太理解,望大神不吝赐教。
第一个:【设置发送字符串的函数】这个块儿,不太能理解。特别是我注释的地方。
第二个:【主方法中】接收那部分,有一个注释的地方,搞不懂。求解释。。。

没有金币,,,不知道有大神赐教没。。。跪谢。。。

 /*
设置串口波特率115200bps,8N1
串口调试助手给CC2530发送字符串,开发板则返回同样字符。
*/

#include<ioCC2530.h>
#include<string.h>

typedef unsigned char uchar;
typedef unsigned int uint;

#define SIZE 50

char RxBuf;
char RxData[SIZE];
char UartState;//0为接收状态,1为发送状态
uint count;//计数器

//延时器
void DelayMs(uint msec)
{
  uint i,j;
  for(i=0;i<msec;i++)
    for(j=0;j<1070;j++);
}

//初始化串口
void InitUart()
{
  //配置I/O,使用外部设备功能
  PERCFG=0x00;   //外设控制
  P0SEL=0x0C;   //配置P0端口的2,3为外设

  //配置相应的串口
  P2DIR&=~0x40;   //优先级的控制
  U0CSR|=0x80; //设置为UART模式

  //配置串口的波特率
  U0GCR=11;
  U0BAUD=216;

  U0CSR|=0x40;//接收使能
  IEN0|=0x84;//允许USART0  RX 中断使能,   打开所有中断
}

//设置发送字符串的函数
void UartSendString(char *Data,uint len)
{
  uint i;
  for(i=0;i<len;i++)
  {
    U0DBUF=*Data++;
    //传输开始时,触发TX中断,此时为1。
    while(UTX0IF==0);  //!!!!!!!!!!!!!!!!!?不太懂。
    UTX0IF=0;
  }
}

//接收中断处理函数
#pragma vector=URX0_VECTOR
__interrupt void UART0_ISR()
{
  URX0IF=0;//清中断标志
  RxBuf=U0DBUF;
}

//函数入口
void main()
{
  //首先,设置系统的时钟
  CLKCONCMD&=~0x40;    //把bit 6置为0,系统时钟选择,为32MHz XOSC
  while(CLKCONSTA&0x40);    //等待晶振稳定
  CLKCONCMD&=~0x47;    //设置系统时钟频率为32MHZ

  InitUart();       //初始化端口
  memset(RxData,0,SIZE);    //数据清零
  UartState=0;

  while(1)
  {
    if(UartState==0)   //接收状态
    {
      if(RxBuf!=0)
      {
        //以“#”为结束符,一次最多接收50个字符
        if((RxBuf!='#')&&(count<50))
          RxData[count++]=RxBuf;//接收
        else
        {
          if(count>=50)
          {
            memset(RxData,0,SIZE);
            count=0;
          }
          else
            UartState=1;
        }
       RxBuf=0;
      }
       //RxBuf=0;//!!!!如果把上面的       RxBuf=0;注释,打开这个的话,
            //!!!!在串口调试助手中会输出每次都不同的结果,小弟找不到规律。
    }
    if(UartState==1)//发送状态
    {
      //首先要禁止接收
      U0CSR&=~0x40;
      UartSendString(RxData,count);
      //允许接收字符
      U0CSR|=0x40;
      UartState=0;//回复到接收模式
      count=0;
      memset(RxData,0,SIZE); 
    }
  }
}


谢谢!!!

1个回答

这个是判断标志位,发送程序发完数据后产生会修改UTX0IF:

 while(UTX0IF==0);  //!!!!!!!!!!!!!!!!!?不太懂。

第二点,这是根据缓冲数据的字节数来判断是不是要接收数据,如果有数据就接收下来,接收完数据后就要重置字节数为0,不然,下次又重复收取了,逻辑就错乱了。

if(RxBuf!=0){
      ...
      RxBuf=0;
}
cskingq
大神带我飞 第二点我明白,但是如果把那句写在if的外边的话,每次运行的结果竟然不相同,我想知道不相同的原因,好奇怪呀。。。
大约 4 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
zigbee模块(CC2530)串口通信问题

Zigbee模块是DL-30 淘宝买的 芯片是(cc2530) 两个模块通信 正常。 板子是IMX1052芯片 和上位机的通信 无论是接收还是发送 都是正常。 zigbee模块加到IMX1052芯片上后 与上位机通信 板子可以向上位机发送信息 上位机显示 正常。 但 上位机发送数据给zigbee 无效。单步调试发现板子接收缓存区好像收不到信号? 但板子直接用ttl转串口 完全可以。 代码如下 aw_local void __serial_task (void *p_arg) { #define TEST_SERIAL_NUM COM0 char Readbuf[80]; char Writebuf[80] = "Hello,Enter Serial INT Mode:\r\n"; int len = 0; int i = 0; //设置串口为中断模式 aw_serial_ioctl(TEST_SERIAL_NUM, SIO_MODE_SET, (void *)SIO_MODE_INT); //设置串口波特率 数据位校验位 aw_serial_ioctl(TEST_SERIAL_NUM, SIO_BAUD_SET, (void *)115200); aw_serial_ioctl(TEST_SERIAL_NUM, SIO_HW_OPTS_SET, (void *)(CS8 | CLOCAL | CREAD)); //设置串口接收超时 aw_serial_ioctl(TEST_SERIAL_NUM, AW_TIOCRDTIMEOUT, (void *)200); //打印两句话 aw_serial_write(TEST_SERIAL_NUM, "Hello, uart test:\r\n", 19); aw_serial_write(TEST_SERIAL_NUM, "start\r\n", 7); for(;;) { //接收读取缓存区数据 len = aw_serial_read(TEST_SERIAL_NUM, Readbuf, sizeof(Readbuf)); if (len > 0) { aw_serial_write(TEST_SERIAL_NUM, Readbuf, len); aw_serial_write(TEST_SERIAL_NUM, "\r\n", 2); //接收到0000 退出循环 if (strncmp(Readbuf, "0000", 4) == 0) { break; } } // aw_serial_write(TEST_SERIAL_NUM, "work is run\r\n", 13); } aw_serial_write(TEST_SERIAL_NUM, "work is over\r\n", 14); } void demo_serial_entry (void) { /* 定义任务实体,分配栈空间大小为1024 */ AW_TASK_DECL_STATIC(task0, 1024); AW_TASK_INIT( task0, /* 定义的任务实体 */ "task0", /* 任务名 */ 2, /* 任务优先级 */ 1024, /* 任务栈大小 */ __serial_task, /* 任务的入口函数 */ NULL); /* 传递给任务的参数 */ AW_TASK_STARTUP(task0); /* 启动任务 */ } 有大佬知道原因或者遇到过类似问题吗? 求解答,在线等,急!!!!

MFC使用串口通信收发数据问题

我使用VS2010的MSCOM控件编写串口程序,程序需要向下位机发送一些数据,而下位机收到数据是会作出应答。 我用的是 : m_com1.put_Output(COleVariant(_T("12"))); //m_com1为MSCOM控制变量 但发现后面下位机接收的是1和2的ASCII码对应的字符; 想问问各位大神有没有可以直接给下位机12数字而不是ASCII码的

LD3320可以和cc2530开发板进行串口通信吗?

我的cc2530开发板波特率是115200,晶振是32MHz,能和LD3320进行串口通信吗?

求大神,linux串口通信方面!!!7445CPU串口和CC2530通信验证

我现在有一块7444的开发板,想实现7444通过串口传输命令给7444开发板上的另一模块cc2530(zigbee中的协调器),然后发送给给第三方开发板(只要当前cc2530能接收到命令就能直接发送数据到zigbee终端,以实现),然后终端zigbee模块的温度数据回传到7444开发板上的CC2530协调器,再从串扣回传给7445,已知我当前的串口设备文件是tty1,怎么编写C程序读取改开发板上cc2530传来的温度数据,和通过串口给cc2530发送命令! ![图片说明](https://img-ask.csdn.net/upload/201512/02/1449042367_601908.png) 上图是zigbee协议栈的串口程序,主要是 1、 接收到数据 2、 判断长度然后给数据包 pMsg 分配内存 3、 打包发送给上层 OSAL待处理 4、 释放内存 其中数据包中的数据部分格式是 datalen + data 本来CC2530是个独立的zigbee模块,直接通过RS232转串口可以直接在串口工具中显示终端发送来的温度数据和写入命令控制终端了,而现在在PC和CC2530之间加了一个arm的CPU,这个cpu和CC2530之间是通过串口连接通信的,问题就出现在这里了,这部分我没接触过个,所以不会,现在求个大神帮忙解决下。

CC2530与单片机的通信

zigbee CC2530 已经实现串口透传,我想从52单片机处获得数据(串口程序已经写好,PC机也能正常收到),然后zigbee通过UART0 (协议栈下)接收数据,分析一下后,通过无线发送出去,基站接收后发到PC机(已经做好),现在单片机的RX,TX与zigbeee的RX,TX怎么对应连接才能收到数据呀!谢谢啦!

欧姆龙E5CC与PC串口通信

完整的通信指令或者指令的计算方式、或者有实例更好!看百度的通信手册实在是看不大懂、求高手指点指点。

串口调试助手可以发送十六进制和字符串,如果发送的命令是ascii怎么办呢,

字符串和ascii是不一样的把,怎么可以让单片机和一个支持串口通信的设备通信,哪个设备只能接收ascii,我用单片机发送给他的时候,应该是什么格式呢,ascii码一位即可,命令是2,3...9就这样的,单个数字

smartRF04EB仿真器无法识别出CC2530

按照引脚情况连接了smartRF04EB和CC2530,前者红灯亮,后者绿灯亮且每次按下reset,后者红灯闪烁,但是在仿真器页面上,始终识别不出CC2530,在chiptype显示N/A,后面一栏显示SmartRF。求解如何识别,谢谢大佬

linux串口通信!求大神!急

我现在有一块7444的开发板,想实现7444通过串口传输命令给7444开发板上的另一模块cc2530(zigbee中的协调器),然后发送给给第三方开发板(只要当前cc2530能接收到命令就能直接发送数据到zigbee终端,以实现),然后终端zigbee模块的温度数据回传到7444开发板上的CC2530协调器,再从串扣回传给7445,已知我当前的串口设备文件是tty1,怎么编写C程序读取改开发板上cc2530传来的温度数据,和通过串口给cc2530发送命令!

python串口通信的线程问题

问题是这样的,想写一个串口测控程序和单片机通信。界面用tkinter写的。但是突然发现在接受串口数据的时候gui是不响应鼠标等操作的…由于是新手,不知道该怎么办,是不是要用多线程了……

android 串口通信到底是什么意思?

我用android studio准备写一个 使用串口来收发数据的app,网上搜索后,发现大家都是围绕着serialport这个东西来写的, 而且写的都是大同小异,但是我导入这个项目之后,并不能成功运行?串口每次都成功打开了,我打开的是ttyrs0,但是每次到这个函数就不行了,tcgetattr()。我到现在还不是很明白,串口通信,是与谁在通信?我都没有与任何设备连接,怎么通信?难道自己跟自己通信?

cc2530和hx711做压力测量

cc2530和hx711做压力测量,它的下位机程序怎么做啊,hx711和cc2530用普通i/op02和p03连接。

android 是怎么与串口通信的?

现在我有一个 usb转串口的线,一台mac,一个android开发板。在网上搜索后,将代码拷贝到自己的工程中(就是serialport的一些代码), 然后现在可以往串口里面写数据了,但是读取不到数据? 因为现在我还不清楚,android到底是怎么与串口通信的?网上的例子是可以发送数据了,但是它读取的是哪里的数据呢(虽然我现在还读取不到数据),还有我要怎么才能与mac进行连接呢,让mac发送数据,android开发板来接收数据呢? 网上基本上都是千篇一律的内容,你抄我的,他抄你的,完全不知道写的什么。都是那几段代码,几个类,而且是不能成功运行的。 有没有大神指导下,android串口通信到底是怎么回事?

串口通信后为什么两个字符串不同了……

VB和aeduino中波特率都设置为9600,VB能够正常接收数据,看起来一样,但数据判断却不一样。。。。 VB中代码: Dim buf$ Dim DR$ DR = Trim("DATA:CREADY") buf = Trim(MSComm1.Input) Label15.Caption = buf Label16.Caption = DR If LCase(buf) = LCase(DR) Then MsgBox ("校准完成!") Else MsgBox ("校准失败!") End If buf = "" End If arduino中的代码: char data = char(Serial.read()); if (data=='A') { //Serial.println(data); delay(5000); Serial.print("DATA:CREADY \r \n"); digitalWrite(13,HIGH); delay(1000); digitalWrite(13,LOW); delay(1000); 按钮上方为串口接收的值,下方是VB中定义的值 ![图片说明](https://img-ask.csdn.net/upload/201507/16/1436976871_192821.png)

蓝牙串口通信数据接收问题

各位高人,我在做一个关于蓝牙串口通信的项目,现在涉及到接收返回的数据并进行处理。 现在的问题是数据总是接收不全。接收的数据有两种格式,1.以F2或F5开头的三个字节的 数据。2 是以F1 开头的12个字节的数据。以下是我接收的数据 03-12 14:08:03.214: D/BluetoothService(31197): --buffer.length is: 12. InStream.read() buffer is: f12140001000000304000076 03-12 14:08:04.144: D/BluetoothService(31197): --buffer.length is: 1. InStream.read() buffer is: f1 03-12 14:08:04.178: D/BluetoothService(31197): --buffer.length is: 11. InStream.read() buffer is: 2100001000000304000036 03-12 14:08:05.140: D/BluetoothService(31197): --buffer.length is: 1. InStream.read() buffer is: f1 03-12 14:08:05.172: D/BluetoothService(31197): --buffer.length is: 10. InStream.read() buffer is: 21400010000003040000 03-12 14:08:05.173: D/BluetoothService(31197): --buffer.length is: 1. InStream.read() buffer is: 76 03-12 14:08:05.223: D/BluetoothService(31197): --buffer.length is: 1. InStream.read() buffer is: f1 03-12 14:08:05.225: D/BluetoothService(31197): --buffer.length is: 9. InStream.read() buffer is: 214000100000030300 03-12 14:08:05.258: D/BluetoothService(31197): --buffer.length is: 2. InStream.read() buffer is: 0071 03-12 14:08:08.711: D/BluetoothService(31197): --buffer.length is: 12. InStream.read() buffer is: f12100001000000303000031 03-12 14:08:09.664: D/BluetoothService(31197): --buffer.length is: 1. InStream.read() buffer is: f1 03-12 14:08:09.665: D/BluetoothService(31197): --buffer.length is: 9. InStream.read() buffer is: 214000100000030300 03-12 14:08:09.698: D/BluetoothService(31197): --buffer.length is: 2. InStream.read() buffer is: 0071 03-12 14:08:15.959: D/BluetoothService(31197): --buffer.length is: 12. InStream.read() buffer is: f12100001000000303000031 03-12 14:08:17.244: D/BluetoothService(31197): --buffer.length is: 12. InStream.read() buffer is: f12100001000003c0300000e 03-12 14:08:17.681: D/BluetoothService(31197): --buffer.length is: 11. InStream.read() buffer is: f12100001000003c033000 03-12 14:08:17.692: D/BluetoothService(31197): --buffer.length is: 1. InStream.read() buffer is: 3e 03-12 14:08:18.374: D/BluetoothService(31197): --buffer.length is: 1. InStream.read() buffer is: f1 03-12 14:08:18.388: D/BluetoothService(31197): --buffer.length is: 10. InStream.read() buffer is: 2100001000003c043000 03-12 14:08:18.395: D/BluetoothService(31197): --buffer.length is: 1. InStream.read() buffer is: 39 03-12 14:08:20.252: D/BluetoothService(31197): --buffer.length is: 12. InStream.read() buffer is: f12100001000000204000037 03-12 14:08:22.713: D/BluetoothService(31197): --buffer.length is: 12. InStream.read() buffer is: f12100001000000203000030 03-12 14:08:26.756: D/BluetoothService(31197): --buffer.length is: 12. InStream.read() buffer is: f12140001000000203000070 03-12 14:08:30.268: D/BluetoothService(31197): --buffer.length is: 12. InStream.read() buffer is: f12140001000001a03000068 03-12 14:08:31.775: D/BluetoothService(31197): --buffer.length is: 12. InStream.read() buffer is: f10100001000001a03000008 03-12 14:08:32.730: D/BluetoothService(31197): --buffer.length is: 10. InStream.read() buffer is: f12140001000001a0300 部分代码如下: public void run() { Log.i(TAG, "BEGIN mConnectedThread"); byte[] buffer = new byte[12]; byte[] tempBuffer = new byte[100]; int bytes; int index = 0; int sum = 0; // Keep listening to the InputStream while connected while (true) { try { // Read from the InputStream if (mmInStream.available() > 0) { if (D) Log.d(TAG, mmInStream.available() + " 1 mminsream---" + index + " " + sum + " " +tempBuffer[0]+ (tempBuffer[0] == (byte) 0xF1)+ " (tempBuffer[0]==(byte)0xF5)=" + (tempBuffer[0] == (byte) 0xF5) + " (tempBuffer[0]==(byte)0xF2)=" + (tempBuffer[0] == (byte) 0xF2)); bytes = mmInStream.read(buffer); byte[] arr = new byte[bytes]; if (buffer[0] == (byte) 0xF1 || buffer[0] == (byte) 0xF5 || buffer[0] == (byte) 0xF2 || sum > 12) { index = 0; sum = 0; } System.arraycopy(buffer, 0, arr, 0, bytes); for (int i = 0; i < bytes; i++) { if (i > 0 && (arr[i] == (byte) 0xF1 || arr[i] == (byte) 0xF2 || arr[i] == (byte) 0xF5)) { Log.d(TAG, "break i =" + i + (i > 0 && (arr[i] == (byte) 0xF1 || arr[i] == (byte) 0xF2 || arr[i] == (byte) 0xF5))); break; } tempBuffer[i + index] = arr[i]; sum++; } if (D) Log.d(TAG, mmInStream.available() + " 2 mminsream---" + index + " " + sum + " (tempBuffer[0]==(byte)0xF1)=" + (tempBuffer[0] == (byte) 0xF1) + " (tempBuffer[0]==(byte)0xF5)=" + (tempBuffer[0] == (byte) 0xF5) + " (tempBuffer[0]==(byte)0xF2)=" + (tempBuffer[0] == (byte) 0xF2) + " sum=" + sum); index = index + bytes; if (sum == 12 && tempBuffer[0] == (byte) 0xF1) { // Send the obtained bytes to the UI Activity Bundle bundle = new Bundle(); bundle.putInt(BUNDLE_TYPE, MainActivity.MESSAGE_READ); bundle.putByteArray("buffer", tempBuffer); bundle.putInt("length", sum); showMessage(bundle); index = 0; sum = 0; } if (sum == 3 && (tempBuffer[0] == (byte) 0xF2 || tempBuffer[0] == (byte) 0xF5)) { // Send the obtained bytes to the UI Activity Bundle bundle = new Bundle(); bundle.putInt(BUNDLE_TYPE, MainActivity.MESSAGE_READ); bundle.putByteArray("buffer", tempBuffer); bundle.putInt("length", sum); showMessage(bundle); index = 0; sum = 0; } 还请高人指教。

Linux下串口通信异常的问题

本人在linux下进行串口通信程序开发,把串口通信放在一条单独的线程里,问题来了,程序在启动另外一个计算线程后,串口通信出现异常。两线程间并没有任何数据共享,串口通信无论非组塞还是阻塞都有问题!请高手分析下原因!

C#中串口通信发送数据问题

串口通信数据发送,除了可用字节数组byte[],还可以用其他的什么吗?

单片机双机串口通信流水灯

跪求大佬帮我弄下,51单片机双机串口通信流水灯(两个按键,16个流水灯)的程序和原理图。(。・ω・)

为什么STM32和zigbee不能串口通信?

最近在做一个项目,需要用到zigbee与STM32串口通信,我用的是STM32的开发板和zigbee的底板。如果是一个zigbee单独的串口通信工程,32就能和zigbee进行通信,但是如果是z-stack里的串口通信就不能和32进行通信。

大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了

大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

Java基础知识面试题(2020最新版)

文章目录Java概述何为编程什么是Javajdk1.5之后的三大版本JVM、JRE和JDK的关系什么是跨平台性?原理是什么Java语言有哪些特点什么是字节码?采用字节码的最大好处是什么什么是Java程序的主类?应用程序和小程序的主类有何不同?Java应用程序与小程序之间有那些差别?Java和C++的区别Oracle JDK 和 OpenJDK 的对比基础语法数据类型Java有哪些数据类型switc...

我以为我学懂了数据结构,直到看了这个导图才发现,我错了

数据结构与算法思维导图

String s = new String(" a ") 到底产生几个对象?

老生常谈的一个梗,到2020了还在争论,你们一天天的,哎哎哎,我不是针对你一个,我是说在座的各位都是人才! 上图红色的这3个箭头,对于通过new产生一个字符串(”宜春”)时,会先去常量池中查找是否已经有了”宜春”对象,如果没有则在常量池中创建一个此字符串对象,然后堆中再创建一个常量池中此”宜春”对象的拷贝对象。 也就是说准确答案是产生了一个或两个对象,如果常量池中原来没有 ”宜春” ,就是两个。...

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

Linux面试题(2020最新版)

文章目录Linux 概述什么是LinuxUnix和Linux有什么区别?什么是 Linux 内核?Linux的基本组件是什么?Linux 的体系结构BASH和DOS之间的基本区别是什么?Linux 开机启动过程?Linux系统缺省的运行级别?Linux 使用的进程间通信方式?Linux 有哪些系统日志文件?Linux系统安装多个桌面环境有帮助吗?什么是交换空间?什么是root帐户什么是LILO?什...

Linux命令学习神器!命令看不懂直接给你解释!

大家都知道,Linux 系统有非常多的命令,而且每个命令又有非常多的用法,想要全部记住所有命令的所有用法,恐怕是一件不可能完成的任务。 一般情况下,我们学习一个命令时,要么直接百度去搜索它的用法,要么就直接用 man 命令去查看守冗长的帮助手册。这两个都可以实现我们的目标,但有没有更简便的方式呢? 答案是必须有的!今天给大家推荐一款有趣而实用学习神器 — kmdr,让你解锁 Linux 学习新姿势...

和黑客斗争的 6 天!

互联网公司工作,很难避免不和黑客们打交道,我呆过的两家互联网公司,几乎每月每天每分钟都有黑客在公司网站上扫描。有的是寻找 Sql 注入的缺口,有的是寻找线上服务器可能存在的漏洞,大部分都...

史上最全的 python 基础知识汇总篇,没有比这再全面的了,建议收藏

网友们有福了,小编终于把基础篇的内容全部涉略了一遍,这是一篇关于基础知识的汇总的文章,请朋友们收下,不用客气,不过文章篇幅肯能会有点长,耐心阅读吧爬虫(七十)多进程multiproces...

讲一个程序员如何副业月赚三万的真实故事

loonggg读完需要3分钟速读仅需 1 分钟大家好,我是你们的校长。我之前讲过,这年头,只要肯动脑,肯行动,程序员凭借自己的技术,赚钱的方式还是有很多种的。仅仅靠在公司出卖自己的劳动时...

女程序员,为什么比男程序员少???

昨天看到一档综艺节目,讨论了两个话题:(1)中国学生的数学成绩,平均下来看,会比国外好?为什么?(2)男生的数学成绩,平均下来看,会比女生好?为什么?同时,我又联想到了一个技术圈经常讨...

85后蒋凡:28岁实现财务自由、34岁成为阿里万亿电商帝国双掌门,他的人生底层逻辑是什么?...

蒋凡是何许人也? 2017年12月27日,在入职4年时间里,蒋凡开挂般坐上了淘宝总裁位置。 为此,时任阿里CEO张勇在任命书中力赞: 蒋凡加入阿里,始终保持创业者的冲劲,有敏锐的...

总结了 150 余个神奇网站,你不来瞅瞅吗?

原博客再更新,可能就没了,之后将持续更新本篇博客。

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

MySQL数据库面试题(2020最新版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)...

新一代神器STM32CubeMonitor介绍、下载、安装和使用教程

关注、星标公众号,不错过精彩内容作者:黄工公众号:strongerHuang最近ST官网悄悄新上线了一款比较强大的工具:STM32CubeMonitor V1.0.0。经过我研究和使用之...

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

我入职阿里后,才知道原来简历这么写

私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。 01、简历的本质 作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深...

大学一路走来,学习互联网全靠这几个网站,最终拿下了一把offer

大佬原来都是这样炼成的

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

为什么你不想学习?只想玩?人是如何一步一步废掉的

不知道是不是只有我这样子,还是你们也有过类似的经历。 上学的时候总有很多光辉历史,学年名列前茅,或者单科目大佬,但是虽然慢慢地长大了,你开始懈怠了,开始废掉了。。。 什么?你说不知道具体的情况是怎么样的? 我来告诉你: 你常常潜意识里或者心理觉得,自己真正的生活或者奋斗还没有开始。总是幻想着自己还拥有大把时间,还有无限的可能,自己还能逆风翻盘,只不是自己还没开始罢了,自己以后肯定会变得特别厉害...

什么时候跳槽,为什么离职,你想好了么?

都是出来打工的,多为自己着想

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

当HR压你价,说你只值7K,你该怎么回答?

当HR压你价,说你只值7K时,你可以流畅地回答,记住,是流畅,不能犹豫。 礼貌地说:“7K是吗?了解了。嗯~其实我对贵司的面试官印象很好。只不过,现在我的手头上已经有一份11K的offer。来面试,主要也是自己对贵司挺有兴趣的,所以过来看看……”(未完) 这段话主要是陪HR互诈的同时,从公司兴趣,公司职员印象上,都给予对方正面的肯定,既能提升HR的好感度,又能让谈判气氛融洽,为后面的发挥留足空间。...

面试阿里p7,被按在地上摩擦,鬼知道我经历了什么?

面试阿里p7被问到的问题(当时我只知道第一个):@Conditional是做什么的?@Conditional多个条件是什么逻辑关系?条件判断在什么时候执...

你期望月薪4万,出门右拐,不送,这几个点,你也就是个初级的水平

先来看几个问题通过注解的方式注入依赖对象,介绍一下你知道的几种方式@Autowired和@Resource有何区别说一下@Autowired查找候选者的...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

立即提问
相关内容推荐