0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

荣耀卖身,谁是最大的赢家?

我快闭嘴 来源:商业经济观察 作者:商业经济观察 2020-11-12 14:21 次阅读

华为断臂求生,让荣耀单飞,表明来看,是华为输了,其实最大的赢家还是华为!

我问一下大家,这个世界上有多少人愿意卖掉自己的“亲儿子”?如果说有,那么只有一种情况,那就是必须卖,不卖大家都得等死,卖了之后还有活的机会!

如今华为手机就面临这样的情况,自打麒麟芯片受限之后,华为就已经开始为自己的后路谋划了。

当前可以肯定的一点,美国短期内不会解禁华为,那么这意味着华为在2021年很有可能拿不出高端的麒麟芯片。

华为为什么要卖掉荣耀?

今日有媒体爆料,说荣耀作价1000亿把自己给卖了出去。

华为将荣耀卖出,既能让华为获得现金流,又能避开禁令,让荣耀继续发带动整个产业链,而不是直接失去这部分市场。

如果荣耀被卖后,能够不受限制的采购高通的芯片,依托强大的研发、销售团队,理论上依旧能混得风生水起。这也是为什么华为之前要给高通缴纳18亿美金的原因,华为内心还是希望用上高通的骁龙芯片。

对于荣耀这个团队来说,他们巴不得脱离华为,到时候他们把荣耀做大,手中的股份才变得有价值,未来可能就是荣耀是荣耀,华为是华为了。

荣耀真的值1000亿吗?

很多人之所以不相信华为卖掉了荣耀,是因为荣耀压根不值1000亿。

为什么这么说呢?荣耀之所以大卖,靠的是华为这个大山。芯片是华为区别其他安卓手机的最大标志及卖点,也是华为独有的。 华为能制造第一个荣耀,就能以同样的方式制造第二个第三个荣耀!既然是这样,那么作为消费者来说,凭什么要买荣耀手机呢?脱离了华为的荣耀,就没什么溢价存在了。

再者,新的团队对高通或者联发科的芯片设计优化能力这是个问题。还有相关的系统设计也要推倒重来。1000亿买了个没有意义的空壳,这真的是一笔划算的买卖吗?

其实翻开买家的股权结构来看,我们就应该很清楚荣耀的价值了,单纯的说产品影响力来说,荣耀可能确实不值1000亿。

但这一次荣耀基本上是被国家队接盘了,第一大股东北京松联科技有限公司和第五大股东天音通信有限公司实际控制方为民营资本,占比40%。剩下的几个股东的实际控制方除了央企就是深圳市的地方国企,占比60%。

荣耀未来要承担的使命就是暂时性的替代华为,继续推动中国手机产业链的发展。

荣耀卖身 谁是最大的赢家?

荣耀脱离华为之后,表面来看华为受伤了,但本质上来说,华为其实赢了。

以前国产友商其实相处的不是很融洽,每逢发布会都要互相开怼,但如果说以后华为不涉及手机这块业务,专心鸿蒙OS、河图、Hi-Link之类的,面向整个行业推自己的东西,到时候友商也不敢说不支持啊。

除华为是赢家外,小米手机也将成为赢家之一,自打华为手机被限制之后,小米手机无论是在海外还是国内市场上都获得了新的增量,说直白一点,小米正在接盘华为手机空出来的市场份额!

虽然华为出售荣耀是在被逼无奈的情况下完成的,但从某种意义上来说,这其实也是一种福祸转化。长远来看,中国科技产业依然会得到推动,毕竟现在大家看事情,比以往看的透!不知道大家对华为出售荣耀这个事怎么看?
责任编辑:tzh

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    446

    文章

    47769

    浏览量

    409066
  • 手机
    +关注

    关注

    34

    文章

    6684

    浏览量

    154943
  • 华为
    +关注

    关注

    215

    文章

    33610

    浏览量

    247126
  • 荣耀
    +关注

    关注

    6

    文章

    1897

    浏览量

    37503
收藏 人收藏

    评论

    相关推荐

    线路板行业的上下游竞争格局:谁是行业的领导者和后来者?

    线路板行业的上下游竞争格局:谁是行业的领导者和后来者?
    的头像 发表于 03-01 10:54 275次阅读

    世界荣耀,做AI时代的海

    齐聚全球5大AI巨头,荣耀要做AI时代的海
    的头像 发表于 02-28 18:23 912次阅读
    世界<b class='flag-5'>荣耀</b>,做AI时代的海

    荣耀Magic6系列首销卖爆,维信诺、天马成大赢家

    WitDisplay消息,荣耀Magic6系列科技感满满,首日销售就大受消费者追捧。
    的头像 发表于 01-29 10:15 546次阅读

    南芯科技荣获荣耀“卓越交付奖

    近日,荣耀在魔都上海举行了一场盛大的发布会和开发者大会。这场大会的主题是“共翱,海阔天空”,它标志着荣耀迈向了一个全新的阶段。
    的头像 发表于 01-29 10:13 197次阅读

    有魔法的荣耀Magic6,为手机开创“3D电影时代”

    荣耀Magic
    脑极体
    发布于 :2024年01月26日 18:02:42

    诚迈科技荣获“荣耀金牌供应商奖”

    1月10日-12日,荣耀MagicOS 8.0发布会及开发者大会、2024荣耀核心合作伙伴大会在上海隆重举行。诚迈科技作为荣耀核心合作伙伴应邀参会,凭借在技术研发、交付质量、敏捷创新等方面的卓越表现
    的头像 发表于 01-17 10:12 222次阅读
    诚迈科技荣获“<b class='flag-5'>荣耀</b>金牌供应商奖”

    新火种AI|被迫卖身、CEO下台、高管出走,又一家AI独角兽出事

    作者:文子   编辑:小迪 曾经爆火的独角兽,如今被迫卖身。 估值40亿,Stability AI被曝卖身   距离OpenAI政变才刚刚过去不久,又一家AI明星独角兽Stability AI也出事
    的头像 发表于 12-29 09:46 237次阅读
    新火种AI|被迫<b class='flag-5'>卖身</b>、CEO下台、高管出走,又一家AI独角兽出事

    天马鼎力支持荣耀100系列首发荣耀绿洲护眼屏

    11月23日晚,荣耀正式发布全新的荣耀100系列手机。荣耀100系列在传承家族美学基因的基础上,开创了崭新的设计风格。
    的头像 发表于 11-24 16:11 489次阅读

    荣耀30、荣耀30 Pro等开启HarmonyOS4公测版升级

    HarmonyOS 4正陆续推送中,目前荣耀 30、荣耀 30 Pro、荣耀 30 Pro+、荣耀 V30、荣耀 V30 PRO、
    的头像 发表于 10-26 18:38 682次阅读

    刚刚,郭明錤发文盛赞,这家全球第一生物识别传感器龙头成国产替代赢家!被华为带飞!

    今日(10月20日)中午,香港天风国际证券分析师郭明錤发文盛赞一家国产生物识别传感器芯片龙头企业,称其为被低估的国产替代赢家,在华为供应链中占据重要份额,2024年将恢复强劲增长。  郭明錤掌握众多
    的头像 发表于 10-23 15:54 483次阅读
    刚刚,郭明錤发文盛赞,这家全球第一生物识别传感器龙头成国产替代<b class='flag-5'>赢家</b>!被华为带飞!

    英特尔明年委外代工需求高达186亿美元 台积电将成最大赢家

    高盛集团预测,在英特尔的外包扩大趋势中,台积电将成为最大的胜者。预计,sam到2024年和2025年将分别达到56亿美元和97亿美元,相当于2024年和2025年总销售额的6.4%和9.4%。
    的头像 发表于 08-31 10:53 305次阅读

    荣耀开始芯片设计

    根据中国在线数据库QCC的数据,荣耀新成立的子公司的业务范围包括IC设计、IC设计服务以及AI算法和软件开发。不过,在回应中国媒体的猜测时,荣耀表示,其新成立的上海子公司作为研发中心,是荣耀在中国的五个研发中心之一。
    的头像 发表于 06-07 14:24 559次阅读

    叫停自研芯片?荣耀如此回应

    荣耀CEO赵明在荣耀90系列发布会后接受采访时表示,荣耀将会根据需要来制定芯片战略。
    的头像 发表于 06-02 17:08 1766次阅读

    出手自研芯片?荣耀回应了!

    不少企业叫停自研芯片研发之际,荣耀全资控股的上海荣耀智慧科技开发有限公司的成立,引发外界对于荣耀要布局深度自研芯片的猜测。公开信息显示,上海荣耀智慧科技开发有限公司注册资本1亿元人民币
    的头像 发表于 06-02 08:40 276次阅读

    Nodemcu 0.9对比arduino Nano for Neopixel谁是赢家

    大家好, 为了准备在家里制作真正的运动感应楼梯灯,我制作了一个原型。我正在决定是使用 arduino Nano(或任何其他 arduino)还是 Esp 来驱动 LED。偏好 Esp 8266。 然而,实验证明 Nano 更好,但理论上我知道 Esp 更强大,内存更大。 Nodemcu 0.9 有延迟(请注意视频中 22 秒的延迟)。 是什么导致了这种滞后? Nano 表现不错,尽管它有更多的像素可能会耗尽内存(对于实际步骤)。 你们觉得怎么样? 代码:全选 // \"Bling\" up your Staircase By Simon Jowett November 2014 // Thanks to the Neopxel Library by Adafruit #include #define PIN 3 // Parameter 1 = number of pixels in strip // Parameter 2 = Arduino pin number (most are valid) // Parameter 3 = pixel type flags, add together as needed: //NEO_KHZ800800 KHz bitstream (most NeoPixel products w/WS2812 LEDs) //NEO_KHZ400400 KHz (classic \'v1\' (not v2) FLORA pixels, WS2811 drivers) //NEO_GRBPixels are wired for GRB bitstream (most NeoPixel products) //NEO_RGBPixels are wired for RGB bitstream (v1 FLORA pixels, not v2) Adafruit_NeoPixel strip = Adafruit_NeoPixel(24, PIN, NEO_GRB + NEO_KHZ800); // IMPORTANT: To reduce NeoPixel burnout risk, add 1000 uF capacitor across // pixel power leads, add 300 - 500 Ohm resistor on first pixel\'s data input // and minimize distance between Arduino and first pixel.Avoid connecting // on a live circuit...if you must, connect GND first. // Set up Variables unsigned long timeOut=60000; // timestamp to remember when the PIR was triggered. int downUp = 0;// variable to rememer the direction of travel up or down the stairs int alarmPinTop = 7;// PIR at the top of the stairs int alarmValueTop = LOW; // Variable to hold the PIR status int alarmValueBottom = LOW; // Variable to hold the PIR status int ledPin = 16;// LED on the arduino board flashes when PIR activated int LDRSensor = A0;// Light dependant resistor int LDRValue = 0; // Variable to hold the LDR value int colourArray[350];// An array to hold RGB values int change = 1;// used in \'breathing\' the LED\'s int breathe = 0;// used in \'breathing\' the LED\'s void setup() { strip.begin(); strip.show(); // Initialize all pixels to \'off\' Serial.begin (115200);// only requred for debugging pinMode(ledPin, OUTPUT);// initilise the onboard pin 13 LED as an indicator pinMode(alarmPinTop, INPUT);// for PIR at top of stairs initialise the input pin and use the internal restistor delay (2000); // it takes the sensor 2 seconds to scan the area around it before it can //detect infrared presence. for (int i=0 ;i < 350; i++){ // initilise the colourArray to zero colourArray=0; } } void loop() { LDRValue = analogRead(LDRSensor); Serial.println(LDRValue); if (timeOut+57000 < millis()) {// idle state - \'breathe\' the top and bottom LED to show program is looping breathe = breathe + change; strip.setPixelColor(0,0,0,breathe); strip.setPixelColor(1,0,0,breathe); strip.setPixelColor(6,0,0,breathe); strip.setPixelColor(7,0,0,breathe); strip.setPixelColor(8,0,0,breathe); strip.setPixelColor(9,0,0,breathe); strip.setPixelColor(14,0,0,breathe); strip.setPixelColor(15,0,0,breathe); strip.setPixelColor(16,0,0,breathe); strip.setPixelColor(17,0,0,breathe); strip.setPixelColor(22,0,0,breathe); strip.setPixelColor(23,0,0,breathe); strip.show(); if (breathe == 100 || breathe == 0) change = -change;// breathe the LED from 0 = off to 100 = fairly bright if (breathe == 100 || breathe == 0) delay (300);// Pause at beginning and end of each breath delay(25); } {// only switch on LED\'s at night when LDR senses low light conditions - you may have to change the number for your circumstances! alarmValueTop = digitalRead(alarmPinTop);// Constantly poll the PIR at the top of the stairs if (alarmValueTop == HIGH && downUp != 2){// the 2nd term allows timeOut to be contantly reset if one lingers at the top of the stairs before decending but will not allow the bottom PIR to reset timeOut as you decend past it. timeOut=millis();// Timestamp when the PIR is triggered.The LED cycle wil then start. downUp = 1; topdown();// lights up the strip from top down } if (alarmValueBottom == HIGH && downUp != 1){ // the 2nd term allows timeOut to be contantly reset if one lingers at the bottom of the stairs before decending but will not allow the top PIR to reset timeOut as you decend past it. timeOut=millis(); // Timestamp when the PIR is triggered.The LED cycle wil then start. downUp = 2; bottomup();// lights up the strip from bottom up } if (timeOut+10000 < millis() && timeOut+15000 < millis()) { //switch off LED\'s in the direction of travel. if (downUp == 1) { colourWipeDown(strip.Color(0, 0, 0), 50); // Off } if (downUp == 2){ colourWipeUp(strip.Color(0, 0, 0), 50);// Off } downUp = 0; //for (int i=0 ;i < 350; i++){ // Depending on your preference you may want to include this loop to clear out the colourArray // colourArray=0; // } } if (timeOut+15000 < millis() && timeOut+54999 > millis()) waterfall(); // Waterfall effect to play between these times after a PIR trigger. if (timeOut+55000 < millis() && timeOut+56999 > millis()) fade();// Fade/switch off LED\'s } } void topdown() { Serial.println (\"detected top\"); // Helpful debug message colourWipeDown(strip.Color(50, 50, 30), 40); // Warm White for(int i=0; i<3; i++) {// Helpful debug indication flashes led on Arduino board twice digitalWrite(ledPin,HIGH); delay(200); digitalWrite(ledPin,LOW); delay(200); } } void bottomup() { Serial.println (\"detected bottom\"); // Helpful debug message colourWipeUp(strip.Color(50, 50, 30), 40);// Warm White for(int i=0; i<3; i++) {// Helpful debug indication flashes led on Arduino board twice digitalWrite(ledPin,HIGH); delay(200); digitalWrite(ledPin,LOW); delay(200); } } // Fill the dots one after the other with a color void colourWipeDown(uint32_t c, uint8_t wait) { for(uint16_t i=0; i-1; i--) {// Shift the RGB colours down in the colourArray[] colourArray[i+3]=colourArray; } colourArray[0] = random(0,20);// Genearate the red component of the 1st LED at the top of the stairs colourArray[1] = random(0,40);// Genearate the green component of the 1st LED at the top of the stairs colourArray[2] = random(10,70); // Genearate the blue component of the 1st LED at the top of the stairs for (int k=0; k<351; k=k+3){ // Set and send the colours to the strip uint32_t c = strip.Color(colourArray[k],colourArray[k+1],colourArray[k+2]); strip.setPixelColor(((k+3)/3)-1,c); } strip.show();// and display the result delay(35);// delay to simulate running water } // Play the LED fade out void fade(){ for (int j = 0; j <70; j++) { for(int i=350; i>-1; i--) { colourArray=colourArray-1;// reduce intensity of light by 1 if (colourArray <= 0 ) colourArray = 0; } for (int k=0; k<351; k=k+3){ uint32_t c = strip.Color(colourArray[k],colourArray[k+1],colourArray[k+2]); strip.setPixelColor(((k+3)/3)-1,c); } strip.show(); delay(60); } breathe = 0; change = 1; } 代码:全选 // \"Bling\" up your Staircase By Simon Jowett November 2014 // Thanks to the Neopxel Library by Adafruit #include #define PIN 4 // Parameter 1 = number of pixels in strip // Parameter 2 = Arduino pin number (most are valid) // Parameter 3 = pixel type flags, add together as needed: //NEO_KHZ800800 KHz bitstream (most NeoPixel products w/WS2812 LEDs) //NEO_KHZ400400 KHz (classic \'v1\' (not v2) FLORA pixels, WS2811 drivers) //NEO_GRBPixels are wired for GRB bitstream (most NeoPixel products) //NEO_RGBPixels are wired for RGB bitstream (v1 FLORA pixels, not v2) Adafruit_NeoPixel strip = Adafruit_NeoPixel(24, PIN, NEO_GRB + NEO_KHZ800); // IMPORTANT: To reduce NeoPixel burnout risk, add 1000 uF capacitor across // pixel power leads, add 300 - 500 Ohm resistor on first pixel\'s data input // and minimize distance between Arduino and first pixel.Avoid connecting // on a live circuit...if you must, connect GND first. // Set up Variables unsigned long timeOut=60000; // timestamp to remember when the PIR was triggered. int downUp = 0;// variable to rememer the direction of travel up or down the stairs int alarmPinTop = 5;// PIR at the top of the stairs int alarmValueTop = LOW; // Variable to hold the PIR status int alarmValueBottom = LOW; // Variable to hold the PIR status int ledPin = 16;// LED on the arduino board flashes when PIR activated int LDRSensor = A0;// Light dependant resistor int LDRValue = 0; // Variable to hold the LDR value int colourArray[350];// An array to hold RGB values int change = 1;// used in \'breathing\' the LED\'s int breathe = 0;// used in \'breathing\' the LED\'s void setup() { strip.begin(); strip.show(); // Initialize all pixels to \'off\' Serial.begin (115200);// only requred for debugging pinMode(ledPin, OUTPUT);// initilise the onboard pin 13 LED as an indicator pinMode(alarmPinTop, INPUT);// for PIR at top of stairs initialise the input pin and use the internal restistor delay (2000); // it takes the sensor 2 seconds to scan the area around it before it can //detect infrared presence. for (int i=0 ;i < 350; i++){ // initilise the colourArray to zero colourArray=0; } } void loop() { LDRValue = analogRead(LDRSensor); Serial.println(LDRValue); if (timeOut+57000 < millis()) {// idle state - \'breathe\' the top and bottom LED to show program is looping breathe = breathe + change; strip.setPixelColor(0,0,0,breathe); strip.setPixelColor(1,0,0,breathe); strip.setPixelColor(6,0,0,breathe); strip.setPixelColor(7,0,0,breathe); strip.setPixelColor(8,0,0,breathe); strip.setPixelColor(9,0,0,breathe); strip.setPixelColor(14,0,0,breathe); strip.setPixelColor(15,0,0,breathe); strip.setPixelColor(16,0,0,breathe); strip.setPixelColor(17,0,0,breathe); strip.setPixelColor(22,0,0,breathe); strip.setPixelColor(23,0,0,breathe); strip.show(); if (breathe == 100 || breathe == 0) change = -change;// breathe the LED from 0 = off to 100 = fairly bright if (breathe == 100 || breathe == 0) delay (300);// Pause at beginning and end of each breath delay(25); } {// only switch on LED\'s at night when LDR senses low light conditions - you may have to change the number for your circumstances! alarmValueTop = digitalRead(alarmPinTop);// Constantly poll the PIR at the top of the stairs if (alarmValueTop == HIGH && downUp != 2){// the 2nd term allows timeOut to be contantly reset if one lingers at the top of the stairs before decending but will not allow the bottom PIR to reset timeOut as you decend past it. timeOut=millis();// Timestamp when the PIR is triggered.The LED cycle wil then start. downUp = 1; topdown();// lights up the strip from top down } if (alarmValueBottom == HIGH && downUp != 1){ // the 2nd term allows timeOut to be contantly reset if one lingers at the bottom of the stairs before decending but will not allow the top PIR to reset timeOut as you decend past it. timeOut=millis(); // Timestamp when the PIR is triggered.The LED cycle wil then start. downUp = 2; bottomup();// lights up the strip from bottom up } if (timeOut+10000 < millis() && timeOut+15000 < millis()) { //switch off LED\'s in the direction of travel. if (downUp == 1) { colourWipeDown(strip.Color(0, 0, 0), 50); // Off } if (downUp == 2){ colourWipeUp(strip.Color(0, 0, 0), 50);// Off } downUp = 0; //for (int i=0 ;i < 350; i++){ // Depending on your preference you may want to include this loop to clear out the colourArray // colourArray=0; // } } if (timeOut+15000 < millis() && timeOut+54999 > millis()) waterfall(); // Waterfall effect to play between these times after a PIR trigger. if (timeOut+55000 < millis() && timeOut+56999 > millis()) fade();// Fade/switch off LED\'s } } void topdown() { Serial.println (\"detected top\"); // Helpful debug message colourWipeDown(strip.Color(50, 50, 30), 40); // Warm White for(int i=0; i<3; i++) {// Helpful debug indication flashes led on Arduino board twice digitalWrite(ledPin,HIGH); delay(200); digitalWrite(ledPin,LOW); delay(200); } } void bottomup() { Serial.println (\"detected bottom\"); // Helpful debug message colourWipeUp(strip.Color(50, 50, 30), 40);// Warm White for(int i=0; i<3; i++) {// Helpful debug indication flashes led on Arduino board twice digitalWrite(ledPin,HIGH); delay(200); digitalWrite(ledPin,LOW); delay(200); } } // Fill the dots one after the other with a color void colourWipeDown(uint32_t c, uint8_t wait) { for(uint16_t i=0; i-1; i--) {// Shift the RGB colours down in the colourArray[] colourArray[i+3]=colourArray; } colourArray[0] = random(0,20);// Genearate the red component of the 1st LED at the top of the stairs colourArray[1] = random(0,40);// Genearate the green component of the 1st LED at the top of the stairs colourArray[2] = random(10,70); // Genearate the blue component of the 1st LED at the top of the stairs for (int k=0; k<351; k=k+3){ // Set and send the colours to the strip uint32_t c = strip.Color(colourArray[k],colourArray[k+1],colourArray[k+2]); strip.setPixelColor(((k+3)/3)-1,c); } strip.show();// and display the result delay(35);// delay to simulate running water } // Play the LED fade out void fade(){ for (int j = 0; j <70; j++) { for(int i=350; i>-1; i--) { colourArray=colourArray-1;// reduce intensity of light by 1 if (colourArray <= 0 ) colourArray = 0; } for (int k=0; k<351; k=k+3){ uint32_t c = strip.Color(colourArray[k],colourArray[k+1],colourArray[k+2]); strip.setPixelColor(((k+3)/3)-1,c); } strip.show(); delay(60); } breathe = 0; change = 1; }
    发表于 05-23 07:13