LCD/HDMI OUT调试经验(4)------点亮LCD

article/2025/9/23 10:22:24

本文以最近在QCM6490平台调试的一块FT8719为例,详细介绍点亮一块LCD屏幕的完整过程。

点亮屏幕的操作主要分两部分:上电和配置MIPI参数。上电保证屏幕可以有正常的背光,而MIPI参数保证有合适的清晰度,分辨率和画面。

 

一、上电

拿到调试任务先看原理图,以下为LCD的一些引脚。

6709d5a4986e44d084e20cb101a245c6.png

 

从名称中可以了解我们需要对LCM_AVDD、LCM_AVEE以及VREG_L12C上电,LED_K和LED_A为PWM调光的引脚,最后还需要对RESET_N进行拉低高低电压初始化初始化。

如果是新手或者不确定上电是否正确,请先熟悉屏幕的数据手册再去和硬件交流,最后也可以和供应商确定一下以防万一。

 

(1)AVEE与AVDD上电

接下来我们需要在原理图中找这些脚是由QCM6490模块的哪些GPIO或者PMIC操作的。

eb007cdc9070413a96a5c87a3c32c915.png

搜索发现AVEE和AVDD的电来自一块调压芯片,并且该芯片由I2C控制电压。因为模块过来的电是恒压6v,而屏幕需要的电压在3.3v到5.5v之间,所以这块芯片的作用就是通过I2C控制电压使其输出3.3v至5.5v的电压,和硬件确认后明确了需要打开DRIVER_EN脚以及调通I2C,VPH_PWR是开机就有电。

首先需打开DRIVER_EN的电,在原理图上找到该电来自PM7250B的GPIO2

e8ac8cb749ae44e4bc3a017644038469.png

下面简单讲一下如何在kernel配置一个PMIC的GPIO:

1、 配置PM7250B的GPIO2为digital output

&pm7250b_gpios {disp_lcd_bias_en {disp_lcd_bias_en_default: disp_lcd_bias_en_default {pins = "gpio2";function = "func1";input-disable;output-enable;bias-disable;power-source = <0>;qcom,drive-strength = <2>;};};
};

2、在你需要用到PM7250B的设备树添加pinctrl

your_dtsi {compatible = "qcom,your_compatible";pinctrl-names = "default";pinctrl-0 = <&disp_lcd_bias_en_default>;test-gpios = <&pm7250b_gpios 2 GPIO_ACTIVE_LOW>;};

3、在驱动中添加逻辑代码拉高,以下代码作为测试

int pmic_gpio2_test;
pmic_gpio2_test = of_get_named_gpio(dev.of_node,"test-gpios", 0);
gpio_request(pmic_gpio2_test, “GPIO2”);
gpio_direction_output(pmic_gpio2_test, 1); //Output HIGH
gpio_direction_output(pmic_gpio2_test, 0); //Output LOW

请注意设备树与设备树以及设备树与驱动配置的关系,这里不再讲本次调试具体的配置,请各位自己尝试一下。

 

接下来是驱动添加。相关驱动供应商会提供,需要在对应的文件夹加上代码并修改Makefile:

f18ac5c211504bd18055a36ad373cdb0.png

6fbddc8aaf874e05bac0457b56c2468c.png

 驱动代码这边已经可以,但是还需要自己配置设备树,根据驱动代码的分析以及数据手册配置如下:

e755f3e5dd904e3e9878bf5cc8f7d8c5.png

 可以在设备树文件夹中搜索qupv3_se来确定在哪个文件配置i2c的根节点,根据原理图两个GPIO确定其在SE1,所以根节点配置为qupv3_se1_i2c,根据数据手册配置地址,compatible等参数,其余参数无法公开,都是一些电压配置,限制输出3.3-5.5v的参数。

都配置好之后编译烧录并且量电压,但是电压没有变,后来发现是因为芯片的外部使能不起作用,因为I2C通了,所以直接写寄存器用内部使能,最终电压控制在5.5v。

 

 (2)VREG_L12C的上电

因为LCD开机就需要显示LOGO,所以我把VREG_L12C配置成开机常供电,了解上一篇文章后,我们直接找到VREG上电的地方将OFF改为ON:

70d763d1e6ed4ba987e16c2ef48a14c4.png

4ff08de6bbdf46a1abcafd403536c853.png

 根据最后的注释进行修改后直接编译aop,烧录进机器后1.8v正常,上电成功。

 

(3)RESET_N高低高上电初始化

屏幕相关操作并且在开机初始化需要在MDPPlatformLib.c中配置,因为之前讲过BP拉高拉低GPIO的操作,所以直接上代码,需要注意的是仔细阅读数据手册保证上电时序要正确:

#define FT8719_REST                44在操作相关GPIO的函数添加:
if (EFI_SUCCESS != TLMMProtocol->ConfigGpio((UINT32)EFI_GPIO_CFG(FT8719_REST, 0, GPIO_OUTPUT, GPIO_PULL_UP, GPIO_2MA), TLMM_GPIO_ENABLE)){DEBUG((EFI_D_WARN, "DisplayDxe: Configure GPIO %d for LT8911EXB Reset_N line Failed!\n", FT8719_REST));}/* Set Reset_N line HIGH */if (EFI_SUCCESS != TLMMProtocol->GpioOut((UINT32)EFI_GPIO_CFG(FT8719_REST, 0, GPIO_OUTPUT, GPIO_NO_PULL, GPIO_2MA), GPIO_HIGH_VALUE)){DEBUG((EFI_D_WARN, "DisplayDxe: FT8719 Reset_N line HIGH failed!\n"));}MDP_OSAL_DELAYUS(100);/* Pull Reset_N Low */if (EFI_SUCCESS != TLMMProtocol->GpioOut((UINT32)EFI_GPIO_CFG(FT8719_REST, 0, GPIO_OUTPUT, GPIO_NO_PULL, GPIO_2MA), GPIO_LOW_VALUE)){DEBUG((EFI_D_WARN, "DisplayDxe: Pull FT8719 Reset_N Low Failed!\n"));}MDP_OSAL_DELAYUS(100);/* Set Reset_N line HIGH */if (EFI_SUCCESS != TLMMProtocol->GpioOut((UINT32)EFI_GPIO_CFG(FT8719_REST, 0, GPIO_OUTPUT, GPIO_NO_PULL, GPIO_2MA), GPIO_HIGH_VALUE)){DEBUG((EFI_D_WARN, "DisplayDxe: FT8719 Reset_N line HIGH failed!\n"));}MDP_OSAL_DELAYUS(100);

至此,上电操作已经全部结束,背光因为本次调试上电就有故先不做讲解,之后会有相关示例。

 

二、MIPI参数配置

本文开头已经了解到,MIPI参数决定显示屏的分辨率、画质、刷新率等。所以这部分配置尤其重要且需要耐心。

上一篇讲到MIPI参数在AP与BP是如何获取的,所以我们已经知道配置的位置在哪。在你调试之前屏幕厂商会给你几个文件来配置AP与BP的MIPI参数,接下来介绍一下如何具体配置:

 

1.BP侧的配置

Path: 一般在

QCM6490_LA2.0_BP\boot_images\boot\QcomPkg\SocPkg\Kodiak\Library\MDPPlatformLib\MDPPlatformLib.c中配置

但是有的模块在这里配置:

QCM6490_LA2.0_BP\boot_images\boot\QcomPkg\Settings\Panel

只是多了双引号与换行符的差别,本文的配置就在第二处地方

该文件为各个屏幕的XML文件,程序会解析XML文件生成其他设备树和头文件等,所以我们只需要修改此处的参数就可。参数文档中给出的几个参数含义如下:

  • vs:VerticalSyncPulse(表示垂直同步脉冲)

  • vbp:VerticalBackPorch(表示在一帧图像开始时,垂直同步信号开始以后的无效的TH个数)

  • vfp:VerticalFrontPorch(表示在一帧图像结束后,垂直同步信号开始以前的无效的TH个数)

  • hs:HorizontalSyncPulse(表示水平同步信号)

  • hbp:HorizontalBackPorch(表示从水平同步信号结束到一行的有效数据开始之间的DCLK的个数)

  • hfp:HorizontalFrontPorch(表示一行的有效数据结束到下一个水平同步信号开始之间的DCLK的个数)

根据供应商给的参数,本屏幕的配置如下:

<Group id="Active Timing"><HorizontalActive>1080</HorizontalActive><HorizontalFrontPorch>16</HorizontalFrontPorch><HorizontalBackPorch>16</HorizontalBackPorch><HorizontalSyncPulse>4</HorizontalSyncPulse><HorizontalSyncSkew>0</HorizontalSyncSkew><HorizontalLeftBorder>0</HorizontalLeftBorder><HorizontalRightBorder>0</HorizontalRightBorder><VerticalActive>2340</VerticalActive><VerticalFrontPorch>112</VerticalFrontPorch><VerticalBackPorch>12</VerticalBackPorch><VerticalSyncPulse>4</VerticalSyncPulse><VerticalSyncSkew>0</VerticalSyncSkew><VerticalTopBorder>0</VerticalTopBorder><VerticalBottomBorder>0</VerticalBottomBorder><InvertDataPolarity>False</InvertDataPolarity><InvertVsyncPolairty>False</InvertVsyncPolairty><InvertHsyncPolarity>False</InvertHsyncPolarity><BorderColor>0x0</BorderColor>
</Group>


第二个需要修改的是寄存器写参数,文档给出的参数与Panel中XML文件里的格式不一样,文档参数格式如下:

CMD(一个字节)+数据个数(十进制数字)+数据内容,例如:{B8 7 {57 3D 19 1E 0A 50 60}}或者没有数据个数如{B8 57 3D 19 1E 0A 50 60}

以上述代码段为例,在Panel中XML文件给的格式为

命令类型(一个字节)+CDM(一个字节)+数据内容,修改上面格式后:29 B8 57 3D 19 1E 0A 50 50

本文档涉及命令类型有29、39、FF、05:

29h:Generic Long Write

39h:DCS Long Write/write_LUT Command Packet

13h:Generic Short Write(1个参数)

05h:DCS Short Write(没有参数)

FFh:睡眠

参考其余XML格式及参数文档进行修改,如果给出的参数文档中数据中带有0x和逗号,可以在文本文档中进行替换再复制粘贴来提高效率。

XML文件配置大致如下:

<?xml version="1.0" encoding="utf-8"?>
<PanelDescription>FT8719 DSI Video Mode Panel (1080x2340 24bpp)</PanelDescription>
<Group id="Active Timing">......
</Group>
<Group id="Display Interface"><InterfaceType>8</InterfaceType><InterfaceColorFormat>3</InterfaceColorFormat>
</Group>
<Group id="DSI Interface"><DSIChannelId>1</DSIChannelId><DSIVirtualId>0</DSIVirtualId><DSIColorFormat>36</DSIColorFormat><DSITrafficMode>1</DSITrafficMode><DSILanes>4</DSILanes><DSIHsaHseAfterVsVe>False</DSIHsaHseAfterVsVe><DSILowPowerModeInHFP>False</DSILowPowerModeInHFP><DSILowPowerModeInHBP>False</DSILowPowerModeInHBP><DSILowPowerModeInHSA>False</DSILowPowerModeInHSA><DSIClockHSForceRequest>0</DSIClockHSForceRequest><DSILowPowerModeInBLLPEOF>True</DSILowPowerModeInBLLPEOF><DSILowPowerModeInBLLP>True</DSILowPowerModeInBLLP><DSIRefreshRate>0x3C0000</DSIRefreshRate><DSIControllerMapping>00</DSIControllerMapping>
</Group>
<DSIInitSequence>
29 00 00
29 ff 87 19 01
...
...
...
05 29
05 35 00
FF 20
</DSIInitSequence>
<DSITermSequence>05 28FF 1005 10FF 32
</DSITermSequence>
<Group id='Backlight Configuration'><BacklightType>1</BacklightType><BacklightPmicControlType>2</BacklightPmicControlType><DisplayResetInfo>0 10 1000 10000 0</DisplayResetInfo>
</Group>

有时屏幕需要打开告诉模式就需要把这一项改为1:

<DSIClockHSForceRequest>1</DSIClockHSForceRequest>

 

最后需要加上一些逻辑代码和其他配置让机器识别你配的屏幕:

首先在QCM6490_LA2.0_BP\boot_images\boot\QcomPkg\Include\Library\MDPPlatformLib.h文件中添加你的屏幕选项:8bf6644f2f354d27b59bcd77e9a58fc4.png

然后去QCM6490_LA2.0_BP\boot_images\boot\QcomPkg\SocPkg\Kodiak\Common\Core.fdf中添加:

109a49f794594a249bf0909c622f3f68.png

 FILE FREEFORM的参数可以在这个网址生成:Generate GUIDs online

 保证屏幕识别的唯一性。

接下来在QCM6490_LA2.0_BP\boot_images\boot\QcomPkg\SocPkg\Kodiak\Library\MDPPlatformLib\MDPPlatformLibPanelConfig.h中添加屏幕入口:

2067c1516774481a972fa2710c15f25a.png

 最后在MDPPlatformLib.c中添加逻辑代码:

4396f38a096b4b7f80ae63511ec7a28d.png

 在panellist添加屏幕选项,再找到以下函数添加屏幕:

const PanelDTInfoType fastBootPanelList[] =
{
...
...
PANEL_CREATE_ENTRY("ft8719_1080p_vid",                MDPPLATFORM_PANEL_FT8719_1080P_VIDEO,                  "qcom,mdss_dsi_ft8719_1080p_video:",                             DISP_INTF_DSI, DISP_TOPOLOGY_CONFIG_NONE,  DISP_TIMING_CONFIG_NONE, PLL_OVERRIDE_NONE, DISP_MODE_SINGLE_DSI,                             DISP_MODE_SINGLE_DSI,                             DISP_MODE_SINGLE_DSI),
...
...
}

最后找到屏幕选择的代码,修改选择的屏幕:

8f4c1fd699be408cadc16c1a071d0fed.png

索引为0是因为我上面配置的为panellist[0],需要注意,至此BP的屏幕配置已经结束,下面讲AP配置屏幕的操作。

 

 2.AP侧的配置

首先创建自己屏幕的设备树文件,位置为:

QCM6490_LA2.0_AP\LA.UM_QSSI11\vendor\qcom\proprietary\devicetree\qcom\display

在该目录创建dsi-panel-ft8719-1080p-video.dtsi,名字可以自己定义。

内容如下:

/* Copyright (c) 2015-2017, The Linux Foundation. All rights reserved.** This program is free software; you can redistribute it and/or modify* it under the terms of the GNU General Public License version 2 and* only version 2 as published by the Free Software Foundation.** This program is distributed in the hope that it will be useful,* but WITHOUT ANY WARRANTY; without even the implied warranty of* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the* GNU General Public License for more details.*/&mdss_mdp {dsi_ft8719_1080p_video: qcom,mdss_dsi_ft8719_1080p_video {qcom,mdss-dsi-panel-name ="ft8719 1080p video";qcom,mdss-dsi-panel-type = "dsi_video_mode";qcom,dsi-ctrl-num = <0>;qcom,dsi-phy-num = <0>;qcom,dsi-select-clocks = "mux_byte_clk0", "mux_pixel_clk0";qcom,mdss-dsi-virtual-channel-id = <0>;qcom,mdss-dsi-stream = <0>;qcom,mdss-dsi-bpp = <24>;qcom,mdss-dsi-underflow-color = <0xff>;qcom,mdss-dsi-border-color = <0>;qcom,mdss-dsi-traffic-mode = "burst_mode";qcom,mdss-dsi-bllp-eof-power-mode;qcom,mdss-dsi-bllp-power-mode;qcom,mdss-dsi-lane-0-state;qcom,mdss-dsi-lane-1-state;qcom,mdss-dsi-lane-2-state;qcom,mdss-dsi-lane-3-state;qcom,mdss-dsi-dma-trigger = "trigger_sw";qcom,mdss-dsi-mdp-trigger = "none";qcom,mdss-dsi-reset-sequence = <1 10>, <0 10>, <1 10>;qcom,mdss-dsi-display-timings {timing@0 {qcom,mdss-dsi-panel-width = <1080>;qcom,mdss-dsi-panel-height = <2340>;qcom,mdss-dsi-h-front-porch = <16>;qcom,mdss-dsi-h-back-porch = <16>;qcom,mdss-dsi-h-pulse-width = <4>;qcom,mdss-dsi-h-sync-skew = <0>;qcom,mdss-dsi-v-back-porch = <12>;qcom,mdss-dsi-v-front-porch = <112>;qcom,mdss-dsi-v-pulse-width = <4>;qcom,mdss-dsi-panel-framerate = <60>;qcom,mdss-dsi-h-left-border = <0>;qcom,mdss-dsi-h-right-border = <0>;qcom,mdss-dsi-v-top-border = <0>;qcom,mdss-dsi-v-bottom-border = <0>;qcom,mdss-dsi-on-command =[15 01 00 00 00 00 02 00 0039 01 00 00 00 00 04 ff 87 19 01.........05 01 00 00 78 00 02 11 0005 01 00 00 20 00 02 29 00];qcom,mdss-dsi-off-command = [05 01 00 00 32 00 02 28 0005 01 00 00 78 00 02 10 00];qcom,mdss-dsi-on-command-state = "dsi_lp_mode";qcom,mdss-dsi-off-command-state = "dsi_hs_mode";//qcom,mdss-dsi-force-clock-lane-hs;qcom,mdss-dsi-h-sync-pulse = <1>;qcom,mdss-dsi-panel-phy-timings = [00 22 08 09 25 23 0908 06 02 04 00 1c 19];qcom,display-topology = <1 0 1>;qcom,default-topology-index = <0>;};};};
};

还是按照提供的参数修改VBP VFP HBP等参数,然后是将写寄存器的参数进行转换,方法如下:

CMD(一个字节)+数据个数(十进制数字)+数据内容,例如:{B8 7 {57 3D 19 1E 0A 50 50}}或者有些不带数据个数,如:{B8 57 3D 19 1E 0A 50 50}

转换为:

寄存器(5个字节)+等待时间(1个字节)+CMD(1个字节)+数据39 01 00 00 00 00 08 B8 57 3D 19 1E 0A 50 50

另外,该文件中的qcom,mdss-dsi-off-command一项需要看屏幕数据手册得出,qcom,mdss-dsi-panel-phy-timings这一项需要通过高通的时序文档计算得出,本屏幕的计算方式如下:

bf29dd103a2740619d42be88e13a47a2.png

 根据屏幕的参数输入对应方框,然后在下面找到4.0timings的文档得出时序参数:

2c193f0d97804bb488da41a3554c6d12.png

 将其填入设备树即可,项目不同timings的版本不同,需要注意。

如果需要打开高速模式,配置qcom,mdss-dsi-force-clock-lane-hs;这一条即可。

其余设备树的配置需要结合驱动代码来调,可以先参考平台其他屏幕的配置添加,改一下其中的参数即可,而且不同项目配置的文件位置也不同,这里就不展示文件位置了。

d2f7b6e5f2e447afb8ccca3d1a89f0ff.png

 这里需要注意esd check这一项,得和供应商确认有这一项功能才可打开。

e54603b579b24589a53b44d41a0d8e5e.png

 这里设置默认显示哪个屏幕,如果不确定改哪里,可以都改为你调试的屏幕。

6b235f356b9147e7a4d425bbfffe7e1e.png

 最后添加背光控制即可,通过原理图配置8350c的GPIO8即可,其余的参数有需求时需要修改。

至此AP侧的屏幕添加也结束,AP BP编译烧录后可以显示,如果出现异常可以通过搜索panel的log来定位错误原因。

 

三、总结

本篇文章详细介绍了点亮一块LCD屏幕的步骤,因为AP侧的驱动代码是高通原生代码无需添加,所以本文没有与其联系,而且关于调试方法也较少,之后会总结一些示例来讲高通LCD逻辑代码和调试方法。

 


http://chatgpt.dhexx.cn/article/C3pc3PoW.shtml

相关文章

AVD那些事儿

启动了AVD却说找不到AVD 错误提示&#xff1a; No active compatible AVDs or devices found. Relaunch this configuration after connecting a device o 查看你的project版本是运行在哪个版本的&#xff08;AndroidManifest.xml中android:targetSdkVersion属性&#xff09…

AVD的安装和配置

一、创建配置AVD 运行Eclipse &#xff0c;选择“window->Android Virtual Device Manager”&#xff1b;或者运行C盘根目录下的android-sdk-windows文件夹中的文件AVD Manager.exe&#xff0c;弹出一个对话框&#xff0c; 点击“New...”按钮&#xff0c;在弹出的对话框中…

【原理图】电路中的VCC VDD VSS VEE GND含义 以及STM32电源

原理图中经常出现的VCC VDD VSS VEE GND是什么意思呢&#xff1f; 总的来说 VDD&#xff0c;是Virtual Device Driver的缩写 VCC&#xff0c;是Volt Current Condenser的简写 GND 接地 他们的命名来自于MOS管和晶体管的接法&#xff0c;这个以后再提。 VCC vcc一般表示通用芯…

RK3566调试GC2053

电路 RK3566主板外接了一个MIPI接口涉嫌头模组&#xff0c;I2C接口I2C2&#xff0c;模组Sensor为GC2053&#xff0c;模组的设备地址为0x37&#xff08;地址需和模组厂家确定&#xff09;&#xff0c;电路如下&#xff1a; 管脚连接关系如下&#xff1a; GPIO0_C1------>CA…

微雪树莓派PICO笔记——4. ADC(模拟数字转换器)

文章目录 什么是ADCRP2040 ADC技术参数ADC大致框架图【MicroPython】machine.ADC类函数详解代码实现 如果我们需要使用PWM精准的控制LED的亮度&#xff0c;就需要反馈但是LED的亮度是一个模拟变量&#xff0c;MCU不能直接处理模拟信号我们需要将其转换为数字信号才能进行处理 …

TFT-LCD电路设计之电源电路(Power IC)

POWER IC REVIEWS Power IC 利用经系统的输入电压生成5种工作电压&#xff0c;一般外界电压&#xff0c;NB为3.3V&#xff0c;Monitor为5V&#xff0c;TV一般为12V&#xff1b; ①VDD&#xff1a;各种逻辑IC电路工作电压&#xff0c;约3.3V左右&#xff0c;一般采用低压差线性…

MTK 安卓11 lcm AVDD及AVEE值修改

通常情况下lcm的avdd默认5.4v&#xff0c;某些屏幕对avdd要求不同&#xff0c;需要进行修改 驱动程序路径&#xff1a; kernel-4.14/drivers/misc/mediatek/lcm/lcm_pmic.c int display_bias_enable(void) {int ret 0;int retval 0;display_bias_regulator_init();/* set v…

LCD VGH -VGL

此电路可以输出AVDD电压&#xff1a;1.25*&#xff08;56.210&#xff09;/108.275V LX用于VGH 、 VGL&#xff1a;为了理解方便&#xff0c;下面将LX视为&#xff1a;0到10V&#xff0c;100khz&#xff0c;100%占空比的方波输出&#xff0c;二极管的压差视为VF1V VGL解析&…

TFT供电电路(VCOM/VGL/VGH/AVDD)设计原理

一般而言&#xff0c;一个 LCD 需要以下几种驱动电压&#xff1a; VCC – TFT 模组数字模块电源 AVDD – TFT 模组模拟模块电源 &#xff0c;电流要求可能会到20-30mA VGH – 门开启电压&#xff0c;一般为 VGH 12V~25V&#xff0c;IVGH<10mA VGL – 门关断电压&…

Standard EVB硬件开发指南(1)——LCD接口电路

Standard EVB硬件开发指南 一、LCD接口电路详解1、VLED背光驱动电路2、LCD多电源管理器&#xff08;VCOM、VGH、VGL、AVDD&#xff09;3、MIPI、LVDS接口定义4、LVDS显示控制接口5、LCD Layout设计要求 一、LCD接口电路详解 Standard EVB具备6.8寸和7寸MIPI接口电路&#xff0…

科学计算工具IPython

IPython是公认的现代科学计算中最重要的Python 工具之一&#xff0c;它是一个加强版的Pvthon交互式命令行工具&#xff0c;与系统自带的Python 交互环境相比,IPython主要具有以下特点&#xff1a; 与Shell 紧密关联&#xff0c;可以在IPython开发环境下直接执行Shell指令。 它是…

Python:ipython进阶学习

文章目录 简介一、ipython与matplotlib结合二、jupyter qtconsole三、命令历史记录与输入输出四、ipython与操作系统进行交互五、高级功能小结 简介 前面讲解了ipython里面的一些核心知识点&#xff0c;包括它的优势所在、快捷键操作、内省、什么是魔术命令等等&#xff0c;本…

[转]IPython介绍

1. IPython介绍 ipython是一个python的交互式shell&#xff0c;比默认的python shell好用得多&#xff0c;支持变量自动补全&#xff0c;自动缩进&#xff0c;支持bash shell命令&#xff0c;内置了许多很有用的功能和函数。学习ipython将会让我们以一种更高的效率来使用python…

ipython学习

用pip安装ipython:pip install ipython 在开始菜单输入cmd&#xff0c;回车或者shift鼠标右键&#xff0c;选择‘在此处打开命令窗口’ -->输入ipython tab自动完成 内省 在变量的前面或后面加上一个问号(?)就可以将有关该对象的一些通用信息显示出来。这就叫做对象的内省…

Ipython版本控制

Ipython版本控制 2020-5-28 昨天设置了Anaconda环境的复制和移植&#xff0c;今天发现激活复制后的anaconda环境&#xff0c;ipython还是base版本的&#xff0c;python却已经转为了复制后的anaconda版本。 这说明ipython的控制和python控制还不是同步的&#xff0c;ipython需…

ipython安装报错

ipython安装报错 在命令行中执行 pip install ipython 安装报错 WARNING: Failed to write executable - trying to use .deleteme logic ERROR: Could not install packages due to an OSError: [WinError 2] 系统找不到指定的文件。: ‘C:\Python311\Scripts\pygmentize.ex…

ipython怎么安装_如何装ipython

广告关闭 腾讯云11.11云上盛惠 &#xff0c;精选热门产品助力上云&#xff0c;云服务器首年88元起&#xff0c;买的越多返的越多&#xff0c;最高返5000元&#xff01; 我安装了anaconda&#xff0c;效果很好。 我按照anaconda cmd命令行设置了一个python 3环境&#xff0c;效…

NumPy 秘籍中文第二版:一、使用 IPython

原文&#xff1a;NumPy Cookbook - Second Edition 协议&#xff1a;CC BY-NC-SA 4.0 译者&#xff1a;飞龙 在本章中&#xff0c;我们将介绍以下秘籍&#xff1a; 安装 IPython使用 IPython 作为 Shell阅读手册页安装 matplotlib运行 IPython 笔记本导出 IPython 笔记本导入网…

ipython的变量_IPython介绍

本文编写时&#xff0c;IPython最新的版本为6.3和5.4。 介绍 IPython 是 Fernando 在 2001 开始开发的一个交互式的Python解释执行环境。众所周知&#xff0c;Python提供了一个交互执行的环境&#xff0c;在命令行输入python或者python3就可以进入Python的命令行环境&#xf…

IPython使用技巧

目录 1. ?打印IPython简介 2. ?快捷功能 3. ??快捷功能 4. history历史命令 5. tab自动补全 6. !执行shell命令 7.%和%%魔法命令区别 8. %run运行脚本 9.%timeit测量代码运行时间 10.%%timeit测量代码运行时间 11. %pwd显示工作路径 12. %matplotlib inline显示…