A data transmission method, comprising generating, by a mobile terminal (300, 400), data in universal asynchronous receiver/transmitter, UART, format, comprising: downloading software update information of a power adapter by the mobile terminal (300, 400); and converting the software update information into the data in UART format; acquiring, by the mobile terminal (300, 400), a predetermined number of data from data which has not been transmitted in the data in UART format; simulating universal asynchronous receiver/transmitter, UART, ports via general purpose input/output, GPIO, ports of a processor of the mobile terminal (300, 400) to transmit the predetermined number of data to a receiving terminal (350, 450), and controlling the processor to be in a locked state to not respond to any interrupts, wherein the receiving terminal (350, 450) is the power adapter, and the mobile terminal (300, 400) is in electrical communication with the power adapter via a charging interface; delaying the mobile terminal (300, 400) for a predetermined time; controlling the processor to be in an unlocked state in the predetermined time; and repeating the acquiring, the simulating, the controlling the processor to be in the locked state, the delaying, and the controlling the processor to be in the unlocked state until all the data in UART format is transmitted to the receiving terminal, wherein the simulating the UART ports via the GPIO ports of the processor of the mobile terminal (300, 400) to transmit the predetermined number of data to the UART ports of the MCU of the power adapter in batches is performed when the power adapter charges the mobile terminal (300, 400). generating, by a mobile terminal (300, 400), data in universal asynchronous receiver/transmitter, UART, format, comprising: downloading software update information of a power adapter by the mobile terminal (300, 400); and converting the software update information into the data in UART format; acquiring, by the mobile terminal (300, 400), a predetermined number of data from data which has not been transmitted in the data in UART format; simulating universal asynchronous receiver/transmitter, UART, ports via general purpose input/output, GPIO, ports of a processor of the mobile terminal (300, 400) to transmit the predetermined number of data to a receiving terminal (350, 450), and controlling the processor to be in a locked state to not respond to any interrupts, wherein the receiving terminal (350, 450) is the power adapter, and the mobile terminal (300, 400) is in electrical communication with the power adapter via a charging interface; delaying the mobile terminal (300, 400) for a predetermined time; controlling the processor to be in an unlocked state in the predetermined time; and repeating the acquiring, the simulating, the controlling the processor to be in the locked state, the delaying, and the controlling the processor to be in the unlocked state until all the data in UART format is transmitted to the receiving terminal, wherein the simulating the UART ports via the GPIO ports of the processor of the mobile terminal (300, 400) to transmit the predetermined number of data to the UART ports of the MCU of the power adapter in batches is performed when the power adapter charges the mobile terminal (300, 400).